Android程序的退出终于完美解决,兼容所有SDK

上网学了好多方法,关于Android的Activity如何退出。好多方法都不行啦,试了各种方法,下面这种方法就是我最喜欢的,简单又容易懂。


使用单例模式创建一个Activity管理对象,该对象中有一个Activity容器(具体实现自己处理,使用LinkedList等)专门负责存储新开启的每一个Activity,并且容易理解、易于操作,非常不错!

MyApplication类(储存每一个Activity,并实现关闭所有Activity的操作

 

Java代码 复制代码 收藏代码
  1. public class MyApplication extends Application {   
  2.   
  3.   
  4.  private List<Activity> activityList = new LinkedList<Activity>();    
  5.  private static MyApplication instance;   
  6.     
  7.             private MyApplication()   
  8.             {   
  9.             }   
  10.              //单例模式中获取唯一的MyApplication实例    
  11.              public static MyApplication getInstance()   
  12.              {   
  13.                             if(null == instance)   
  14.                           {   
  15.                              instance = new MyApplication();   
  16.                           }   
  17.                  return instance;                
  18.   
  19.              }   
  20.              //添加Activity到容器中   
  21.              public void addActivity(Activity activity)   
  22.              {   
  23.                             activityList.add(activity);   
  24.              }   
  25.              //遍历所有Activity并finish   
  26.   
  27.              public void exit()   
  28.              {   
  29.   
  30.                           for(Activity activity:activityList)   
  31.                          {   
  32.                            activity.finish();   
  33.                          }   
  34.   
  35.                            System.exit(0);   
  36.   
  37.             }   
  38. }  
public class MyApplication extends Application {


 private List<Activity> activityList = new LinkedList<Activity>(); 
 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对象实例容器中

 

 

Java代码 复制代码 收藏代码
  1. MyApplication.getInstance().addActivity(this);  
 MyApplication.getInstance().addActivity(this);

 

 在需要结束所有Activity的时候调用exit方法

 

Java代码 复制代码 收藏代码
  1. MyApplication.getInstance().exit(); 
posted @ 2012-11-27 09:17  郑文亮  阅读(1916)  评论(3编辑  收藏  举报