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

来源:互联网 发布:jquery高级编程在线 编辑:程序博客网 时间:2024/06/06 19:42

上网学了好多方法,关于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(); 

<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击