android完全退出应用程序
2013-02-28 21:25
309 查看
android 退出应用程序, 单例模式管理Activity
android 退出应用程序会调用android.os.Process.killProcess(android.os.Process.myPid())
或是System.exit(0),这只是针对第一个Activity(也就是入口的Activity)时生效。如果有A,B,C
三个Activity,而想在B 或C 中Activity 退出,调用上面的方法,往往会销毁当前的Activity 返回上
一个Activity。当然也可以逐个返回上一个Activity,直到跳转到入口的Activity,最后退出应用程
序。但这样比较麻烦,而且逐个返回的体验并不友好。
网上比较流行的方法是定义栈,写一个ExitApplication 类,利用单例模式管理Activity,在每个在
Activity 的onCreate()方法中调用ExitApplication.getInstance().addActivity(this)方法,在退
出时调用ExitApplication.getInstance().exit()方法,就可以完全退出应用程序了。
ExitApplication 类
代码如下:
view plaincopy to clipboardprint?
1 import java.util.LinkedList;
2 import java.util.List;
3
4 import android.app.Activity;
5 import android.app.Application;
6
7 public class ExitApplication extends Application {
9 private List<Activity> activityList=new LinkedList<Activity>();
10 private static ExitApplication instance;
11
12 private ExitApplication()
13 {
14 }
15 //单例模式中获取唯一的ExitApplication 实例
16 public static ExitApplication getInstance()
17 {
18 if(null == instance)
19 {
20 instance = new ExitApplication();
21 }
22 return instance;
23
24 }
25 //添加Activity 到容器中
26 public void addActivity(Activity activity)
27 {
28 activityList.add(activity);
29 }
30 //遍历所有Activity 并finish
31
32 public void exit()
33 {
34
35 for(Activity activity:activityList)
36 {
37 activity.finish();
38 }
39
40 System.exit(0);
41
42 }
43 }
![](http://pic002.cnblogs.com/images/2012/381354/2012060815093974.png)
android 退出应用程序会调用android.os.Process.killProcess(android.os.Process.myPid())
或是System.exit(0),这只是针对第一个Activity(也就是入口的Activity)时生效。如果有A,B,C
三个Activity,而想在B 或C 中Activity 退出,调用上面的方法,往往会销毁当前的Activity 返回上
一个Activity。当然也可以逐个返回上一个Activity,直到跳转到入口的Activity,最后退出应用程
序。但这样比较麻烦,而且逐个返回的体验并不友好。
网上比较流行的方法是定义栈,写一个ExitApplication 类,利用单例模式管理Activity,在每个在
Activity 的onCreate()方法中调用ExitApplication.getInstance().addActivity(this)方法,在退
出时调用ExitApplication.getInstance().exit()方法,就可以完全退出应用程序了。
ExitApplication 类
代码如下:
view plaincopy to clipboardprint?
1 import java.util.LinkedList;
2 import java.util.List;
3
4 import android.app.Activity;
5 import android.app.Application;
6
7 public class ExitApplication extends Application {
9 private List<Activity> activityList=new LinkedList<Activity>();
10 private static ExitApplication instance;
11
12 private ExitApplication()
13 {
14 }
15 //单例模式中获取唯一的ExitApplication 实例
16 public static ExitApplication getInstance()
17 {
18 if(null == instance)
19 {
20 instance = new ExitApplication();
21 }
22 return instance;
23
24 }
25 //添加Activity 到容器中
26 public void addActivity(Activity activity)
27 {
28 activityList.add(activity);
29 }
30 //遍历所有Activity 并finish
31
32 public void exit()
33 {
34
35 for(Activity activity:activityList)
36 {
37 activity.finish();
38 }
39
40 System.exit(0);
41
42 }
43 }
![](http://pic002.cnblogs.com/images/2012/381354/2012060815093974.png)
![](http://pic002.cnblogs.com/images/2012/381354/2012060815095093.png)
相关文章推荐
- 【移动开发】Android应用程序完全退出
- android 完全退出应用程序(记录,转载)
- android中完全退出当前应用程序的四种方法
- android 完全退出应用程序
- Android-完全退出当前应用程序的四种方法
- android 完全退出应用程序
- Android 完全退出应用程序
- Android 完全退出应用程序总结
- android完全退出应用程序
- android 实现完全退出应用程序的代码
- Android完全退出应用程序
- android 完全退出应用程序
- Android学习历程之完全退出应用程序App
- Android应用程序完全退出
- android 完全退出应用程序
- Android完全退出应用程序
- android 完全退出应用程序
- android完全退出应用程序
- android中完全退出应用程序的方法
- Android完全关闭(退出)应用程序