使用Intent 将底层栈里所有的activity都清理掉
2013-09-11 17:45
211 查看
可以利用清理历史栈的方法,来巧妙关闭所有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) ,连跳转过程中的线程也可以终止的。
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) ,连跳转过程中的线程也可以终止的。
相关文章推荐
- 使用Intent 将底层栈里所有的activity都清理掉
- Android之结束所有activity-使用Intent.FLAG_ACTIVITY_CLEAR_TOP
- Android使用Intent跳转的时候,如何清除堆栈里所有的Activity
- Intent Flag实际项目 -- 超时跳转登录界面并清理前面所有activity
- 使用Intent实现Activity之间传值与跳转(转)
- startActivity与startActivityForResult中的intent使用
- intent的startActivityForResult及appcan jar 中 oncallback 方法的使用
- Android学习笔记33-Intent介绍及Intent在Activity中的使用方法
- 多个Activity之间传值,使用Intent
- 如何使用Intent创建两个交互的Activity
- 使用Intent和Bundle在两个Activity之间进行通信添加上一步按钮实现回退
- android中使用intent来实现Activity带数据跳转
- Intent.FLAG_ACTIVITY_CLEAR_TOP使用
- Activity intent经常使用的 FLAG 集合
- Notification使用以及PendingIntent.getActivity() (转)
- 怎样在继承自BaseAdapter类的adapter中使用Intent跳转到另一个activity
- Android - 使用Intent来启动Activity
- 隐式Intent启动Activity,action不能使用@string配置
- activity之间使用Intent传值
- Android学习笔记33:Intent介绍及Intent在Activity中的使用方法