1.新建一个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();
}
}
}
}
List用于暂存活动,addActivity()用于向List中添加活动,removeActivity()用于移除其中的活动,finishAll()用于将list中存储的所有活动全部都销毁掉
2.新建一个BaseActivity继承自Activity,overrite里面的oncreate
代码如下:
public class BaseActivity extends Activity{
@overrite
protected void onCreate(Bundle saveInstanceState){
super.onCreate(savaInstanceState);
log.d("lingl",getClass().getSimpleName());//每个Activity的名称
ActivityCollector.addActivity(this);
}
@overrite
protected void onDestroy(){
super.onDestroy();
ActivityCollector.removeActivity(this);
}
}
BaseActivity的oncreate中调用了ActivityCollector的addActivity()方法,是将当前正在串讲的活动添加到活动管理器里面.然后再BaseActivity中重写onDestroy()方法,并调用ActivityCollector的removeActivity()方法,表明将一个马上要销毁的活动从活动管理器中移除!
***其它的activity都继承于BaseActivity***
3.在你需要直接关闭的界面内添加按键,并且只要调用ActivityCollector.finishAll()就可以直接从此地直接关闭该程序