怎么退出整个应用,setFlags
2014-03-27 10:28
162 查看
List<Activity>,每次添加到list里面,最后遍历关闭
广播,加入广播
//实现点击双击退出应用,测试有效果的/
已经打开了activity,不想再次打开,或者只是把栈提前
1. 在 AndroidManifest.xml 中设置 Target Activity 的属性,设置它的 launchMode关于 launchMode 的参数一共有 4 个:
android:launchMode=["multiple"| "singleTop" | "singleTask" | "singleInstance"]
具体可以查一些 reference ,这里我要说的是 singleTop 和 singleTask ,你用这些参数之前一点要明白 task 是什么意思。在这里我只希望有一个 activity 在堆栈里,不要反复创建,调用它时直接从堆栈里面取出置顶,所以我用 singleTop
2. 在代码里对 Intent 进行设置: 这我想说的是 setFlags 和 addFlags 之间的区别,如果 setFlags 是可以改变原来 flag 设置, addFlags 如果原先有类似设置就不能被加入了
Intent intent = new Intent();
intent.setClass(getApplicationContext(), TargetActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
广播,加入广播
//实现点击双击退出应用,测试有效果的/
private long exitTime = 0; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) {// && event.getAction() == // KeyEvent.ACTION_DOWN if ((System.currentTimeMillis() - exitTime) > 2000) { Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); exitTime = System.currentTimeMillis(); } else { //退出整个应用 Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); this.startActivity(intent); System.exit(0); } return true; } return super.onKeyDown(keyCode, event); }
已经打开了activity,不想再次打开,或者只是把栈提前
1. 在 AndroidManifest.xml 中设置 Target Activity 的属性,设置它的 launchMode关于 launchMode 的参数一共有 4 个:
android:launchMode=["multiple"| "singleTop" | "singleTask" | "singleInstance"]
具体可以查一些 reference ,这里我要说的是 singleTop 和 singleTask ,你用这些参数之前一点要明白 task 是什么意思。在这里我只希望有一个 activity 在堆栈里,不要反复创建,调用它时直接从堆栈里面取出置顶,所以我用 singleTop
2. 在代码里对 Intent 进行设置: 这我想说的是 setFlags 和 addFlags 之间的区别,如果 setFlags 是可以改变原来 flag 设置, addFlags 如果原先有类似设置就不能被加入了
Intent intent = new Intent();
intent.setClass(getApplicationContext(), TargetActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
相关文章推荐
- Android 怎么退出整个应用程序?
- Android之退出整个应用的一种方法
- Android 怎么退出整个应用程序?__以及__按键事件捕获的问题?
- Android 怎么退出整个应用程序
- Android 怎么退出整个应用程序?
- 怎么退出整个框架页面
- Android之退出整个应用方法之一
- 怎么退出整个框架
- Android 怎么退出整个应用程序?
- UWP怎么双击后退按钮完全退出应用
- 关于多个Fragment切换,退出整个应用(APP)后,第二次打开应用的报错解决
- Android 怎么退出整个应用程序?
- Android 怎么退出整个应用程序?
- Android利用activity启动模式退出整个应用
- Android之退出整个应用方法之一
- Android 怎么退出整个应用程序?
- Android利用activity启动模式退出整个应用
- 双击退出整个应用
- Android退出整个应用之完美解决方案
- Android利用activity启动模式退出整个应用