Android程序的完美退出(兼容所有SDK )

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

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

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

 1 public class MyApplication extends Application {
 2     
 3     private List<Activity> actList = new LinkedList<Activity>();
 4     private static MyApplication instance;
 5     
 6     private MyApplication(){
 7         
 8     }
 9     
10     public static MyApplication getInstance(){
11         if(instance == null){
12             instance = new MyApplication();
13         }
14         return instance;
15     }
16     
17     public void addActivity(Activity act){
18         actList.add(act);
19     }
20     
21     public void exit(){
22         //遍历集合
23         for(Activity activity : actList){
24             activity.finish();
25         }
26         System.exit(0);
27     }
28 }

在每一个Activity中的onCreate方法里添加该Activity到MyApplication对象实例容器中:

1 MyApplication.getInstance().addActivity(this);

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

1 MyApplication.getInstance().exit();

这种机制为我们完全退出Activity提供了思路,我们可以根据项目的不同需求对此进行改进。

完全退出就是要所有的Activity都Finish掉。

转载地址:http://www.android-study.com/jichuzhishi/419.html

 

posted on 2012-06-09 14:57  oasis2008  阅读(317)  评论(0编辑  收藏  举报

导航