Android 退出功能

  • MyApplication类(储存每一个Activity,并实现关闭所有Activity的操作)
public class MyApplication extends Application {
    //对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList实现了基于动态数组的数据结构,要移动数据。LinkedList基于链表的数据结构,便于增加删除 
     private List activityList = new LinkedList();
     private static MyApplication instance;
     private MyApplication(){ }
 //单例模式中获取唯一的MyApplication实例
 public static MyApplication getInstance() {
     if(null == instance) {
        instance = new MyApplication();
     }
     return instance;
 }
//添加Activity到容器中
public void addActivity(Activity activity)  {
    activityList.add(activity);
 }
//遍历所有Activity并finish
public void exit(){
 for(Activity activity:activityList) {
      activity.finish();
 }
 System.exit(0);
 }
}
  • 在每一个Activity中的onCreate方法里添加该Activity到MyApplication对象实例容器中
MyApplication.getInstance().addActivity(this);
  • 在需要结束所有Activity的时候调用exit方法

MyApplication.getInstance().exit();

 

你可能感兴趣的:(Android)