<<第一行代码>>--随时随地退出程序

来源:互联网 发布:mysql小于等于怎么写 编辑:程序博客网 时间:2024/05/17 00:54

用一个专门的集合类对所有的活动进行管理


public class ActivityCollector{

public static List<Activity> activitiies = new ArrayList<Activity>();


//添加activity到活动集合中

public static void addActivity(Activity activity){

activitied.add(activity);

}

//从活动集合中移除activity

public static void removeActivity(Activity activity){

activities.remove(activity);

}


//finish所有activity

public static void  finishAll(){

for(Activity activity : activities){

if(!activity.isFinishing()){

activity.finish();

}

}

}

}


然后修改Activity的onCreate()和onDestroy(),可以在BaseActivity中使用

//参照技巧--快速找到当前界面是哪个activity

public class BaseActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("BaseActivity", getClass().getSimpleName());

ActivityCollector.addActivity(this);
}

@Override

protected void onDestroy(){

super.onDestroy();

ActivityCollector.removeActivity(this);

}

}

以后,不管在什么地方退出程序,只需要调用ActivityCollector.finishAll()方法就可以了。

例如按钮点击事件:

button1.setOnClickListener(new  OnClickListener(){

@Override

public void onClick(View v){

ActivityCollector.finishAll();

}

});

当然可以在销毁所有活动的代码后结束掉当前进程,以保证程序安全退出。


0 0
原创粉丝点击