Android完全退出APP,并且清除活动栈
来源:互联网 发布:长虹乐视网络电视报价 编辑:程序博客网 时间:2024/06/07 02:28
一般一个应用程序要执行退出的命令是单击回退双击退出
比如就像这样,在要退出的页面加入退出的代码。
private static Boolean isExit = false; /*单击回退*/ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { exitBy2Click(); return false; } return super.onKeyDown(keyCode, event); } /*双击退出*/ private void exitBy2Click() { Timer tExit = null; if (isExit == false) { isExit = true; // 准备退出 showLongToast(this, "再按一次退出程序"); tExit = new Timer(); tExit.schedule(new TimerTask() { @Override public void run() { isExit = false; // 取消退出 } }, 2000); // 如果2秒钟内没有按下返回键,则启动定时器取消掉刚才执行的任务 } else { finishAll(); try { ActivityManager activityMgr = (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE); activityMgr.killBackgroundProcesses(this.getPackageName()); }catch (SecurityException e) { Log.i("Exception-Security", e.getMessage()); } System.exit(0); } }
但是会有一个问题,比如我要在MainActivity中退出,但是之前还有个登录页。
单击的时候不就返回到登录页了吗?
这样显然是不合理的,
最简单的办法是在登录页面加入
当activity启动的时候,移除上一个活动栈,这样在执行回退命令的时候,由于找不到返回的栈,所以就默认当前的活动是第一个。
<!--登陆--> <activity android:name=".activity.LoginActivity" android:noHistory="true"> </activity>
在app中所有的活动栈都是以数组的形式存在,而finish执行的方法就是返回到上一个栈的索引。
所以在监听回退键的时候要注意这一点。
阅读全文
0 0
- Android完全退出APP,并且清除活动栈
- android 完全退出App
- Android App完全退出方式
- Android如何完全退出app
- Android开发心得-完全退出APP
- Android中完全退出APP的方法
- android自定义广播实现app完全退出
- android自定义广播实现app完全退出
- Android完全退出App的一些问题
- android自定义广播实现app完全退出
- Android开发,完全退出APP的实现
- Android自定义广播实现app完全退出
- APP完全退出
- 【OSC手机App技术解析】- Android完全退出程序
- android 按home键完全退出app的问题
- Android学习历程之完全退出应用程序App
- Android 完全退出 App,Activity管理者 (Exit)
- Android退出应用程序,完全退出!
- socket编程之listen
- 【C#学习】C#版本时间轴
- 563. Binary Tree Tilt
- ArrayList与LinkedList 的能效区别
- 算法:输入两个日期,求之间相差了多少天
- Android完全退出APP,并且清除活动栈
- IT技术人员的工作需要了解的方法论
- 程序设计中的数学思维函数总结(代码以C#为例)
- 《机器学习实战》和Udacity的ML学习笔记之神经网络
- LeetCode_ 657. Judge Route Circle
- Spring分配置文件开发
- MYSQL 操作简介
- unity3d UI列表预制体循环利用,刷新数据
- Tomcat内存溢出的三种情况及解决办法分析