关闭android程序里所有的activity
2012-08-28 14:57
288 查看
如果你喜欢开门见山的话,请直接跳到第三段,因为第二段描述的问题有些抽象,无视第二段是不影响理解的。
前一阵子,我们公司的APP项目终于解决了在程序崩溃后或者跳转过程中黑屏后,退出程序仍然弹出大量打开过的activity,因此无法一次性退出的BUG。在退出后弹出这么多前打开的过的activity,都要用户一个个关闭,属于比较严重的BUG,无法正常使用。用过广播的方法的来finish所有的activity,也试过kill掉自己的进程实现一次性退出程序,但是效果不佳,主要是程序崩溃或者跳转黑屏后,这问题好像盖不住了,最后用了一个比较取巧的方法解决了,对正常退出和崩溃后退出都有效,主要目的还是要关闭所有的activity实现一次性退出。现在我把改良后的方法贴出来分享给大家交流一下。
可以利用清理历史栈的方法,来巧妙关闭所有activity,首先用一个设置为不可见的activity A来启动程序,这个activity A的作用只是用来垫栈底,只有启动和退出程序才会用到这个activity,而你需要退出的时候,只需要跳转至这个activity A ,并让A finish自己就可以实现关闭所有的activity。
Intent intent = new Intent();
intent.setClass(B.this, A.class); //B为你按退出按钮所在的activity
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); //最关键是这句
startActivity(intent);
Intent.FLAG_ACTIVITY_CLEAR_TOP使得处于栈底的A发挥推土机的作用,从最底层把栈里所有的activity都清理掉,再在自己的oncreate方法加一句finish结束自己,即可实现退出。不放心的话,可以在A的ondestroy方法中加上system.exit(0) ,连跳转过程中的线程也可以终止的。
至于如何初始化这个activity A ,决定程序是启动还是退出,随便弄一个static类型布尔变量控制一下就可以了。(*^__^*)
转载至http://hi.baidu.com/joyhub2140/item/5a310c0c62114de4f55ba634
前一阵子,我们公司的APP项目终于解决了在程序崩溃后或者跳转过程中黑屏后,退出程序仍然弹出大量打开过的activity,因此无法一次性退出的BUG。在退出后弹出这么多前打开的过的activity,都要用户一个个关闭,属于比较严重的BUG,无法正常使用。用过广播的方法的来finish所有的activity,也试过kill掉自己的进程实现一次性退出程序,但是效果不佳,主要是程序崩溃或者跳转黑屏后,这问题好像盖不住了,最后用了一个比较取巧的方法解决了,对正常退出和崩溃后退出都有效,主要目的还是要关闭所有的activity实现一次性退出。现在我把改良后的方法贴出来分享给大家交流一下。
可以利用清理历史栈的方法,来巧妙关闭所有activity,首先用一个设置为不可见的activity A来启动程序,这个activity A的作用只是用来垫栈底,只有启动和退出程序才会用到这个activity,而你需要退出的时候,只需要跳转至这个activity A ,并让A finish自己就可以实现关闭所有的activity。
Intent intent = new Intent();
intent.setClass(B.this, A.class); //B为你按退出按钮所在的activity
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); //最关键是这句
startActivity(intent);
Intent.FLAG_ACTIVITY_CLEAR_TOP使得处于栈底的A发挥推土机的作用,从最底层把栈里所有的activity都清理掉,再在自己的oncreate方法加一句finish结束自己,即可实现退出。不放心的话,可以在A的ondestroy方法中加上system.exit(0) ,连跳转过程中的线程也可以终止的。
至于如何初始化这个activity A ,决定程序是启动还是退出,随便弄一个static类型布尔变量控制一下就可以了。(*^__^*)
转载至http://hi.baidu.com/joyhub2140/item/5a310c0c62114de4f55ba634
相关文章推荐
- Android 退出程序 关闭所有Activity 的方法
- Android 退出程序时关闭所有的activity的几种方法
- 关闭android程序里所有的activity
- android2.2中关闭程序中所有activity方法
- 关闭android程序里所有的activity 分类: Android Activity 2014-06-22 12:30 131人阅读 评论(0) 收藏
- 关闭android程序里所有的activity
- 关闭android程序里所有的activity
- Android程序有很多Activity,在B中如何关闭整个Android应用程序,关闭所有的 Activity
- Android 2.2关闭所有Activity完全退出程序方法
- android 关闭所有activity
- 技术转载:退出android程序清除所有activity
- Android--关闭所有Activity、退出应用
- 退出Android程序时清除所有activity的实现方法
- 技术转载:退出android程序清除所有activity
- Android例子—关闭所有Activity_完全退出App的方法
- android程序完全退出,销毁所有activity方法
- android退出程序——把activity添加到list,退出时finish()掉所有的activity
- 关于Android程序杀掉之前所有Activity(可用于登陆后被顶掉、更改应用内语言)
- android开发游记:关闭所有Activity安全退出应用的方法总结
- 关于“Android所有根Activity中的Intent都存在被其它程序读到风险”的研究