Android中知道界面是哪个activity,一次结束所有Activity退出程序

来源:互联网 发布:获取股票交易明细数据 编辑:程序博客网 时间:2024/05/01 17:13

项目结构:


实现两个功能:

1手机连着电脑测项目,怎样知道手机上的界面对应代码的那个activity。

核心代码

实现如下:
BaseActivity中的onCreate()中打印一句话,
前提代码中所有的Activity都继承BaseActivity

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.i("1", getClass().getSimpleName());
}

2一次退出所有的Activity,退出程序

核心代码

ActivityCollector类中

public class ActivityCollector {
public static List<Activity>activities=new ArrayList<Activity>();

public static void addActivity(Activity activity){
activities.add(activity);
}
public static void removeActivity(Activity activity) {
activities.remove(activity);


}
public static void finishAll(){
for (Activity activity : activities) {
if (!activity.isFinishing()) {
activity.finish();

}

}
}





}//class

在BaseActivity中

public class BaseActivity extends Activity{

/**
* 调用ActivityCollector.addActivity(this);
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.i("1", getClass().getSimpleName());
ActivityCollector.addActivity(this);

}
/**
* 调用ActivityCollector.removeActivity(this);
*/
@Override
protected void onDestroy() {
super.onDestroy();
ActivityCollector.removeActivity(this);
}





}//class

ThirdActivity中

public class ThirdActivity extends BaseActivity implements OnClickListener{
private Button button;

  @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.third_layout);
button=(Button) findViewById(R.id.third_button);
button.setOnClickListener(this);

}


/**
 * 关闭所有actiivty,退出程序
 */
@Override
public void onClick(View v) {
ActivityCollector.finishAll();



   }


}//class

如果没明白下载我的demo

http://download.csdn.net/detail/zhaihaohao1/8286503






0 0
原创粉丝点击