实现思路非常简单,在Application中维护一个链表,活动创建时加入链表,销毁时同时删除列表中的元素。当需要完全退出时,将链表中的活动依次调用finish即可。
1.Application中的链表List<Activity> list(Application需要能够获得单例,这里用的是方法getApp):
public void addActivity(Activity activity){
list.add(activity);
}
public void removeActicity(Activity activity){
list.remove(activity);
}
public void exit(){
for (Activity activity:list){
activity.finish();
}
}
2.在活动onCreate里加入链表(建议在BaseActivity中写,只需要写一次):
BaseApplication.getApp().addActivity(this);
在onDestroy中删除:
BaseApplication.getApp().removeActicity(this);
3.完全退出:
BaseApplication.getApp().exit();