按两次返回退出应用的三种写法
来源:互联网 发布:易语言qq2015登录源码 编辑:程序博客网 时间:2024/05/17 02:10
方法1:(牛A与牛C之间写法)
// 是否退出程序private static Boolean isExit = false;// 定时触发器private static Timer tExit = null;
public boolean onKeyUp(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK) {if (isExit == false) {isExit = true;if (tExit != null) {tExit.cancel(); // 将原任务从队列中移除}// 重新实例一个定时器tExit = new Timer();TimerTask task = new TimerTask() {@Overridepublic void run() {isExit = false;}};Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();// 延时两秒触发task任务tExit.schedule(task, 2000);} else {finish();System.exit(0);}return true;}return super.onKeyUp(keyCode, event);}
原理:定义一个TimerTask定时器和一个是否退出程序的标识isExit,第一次按返回键,赋值isExit标识为true,开启定时器TimerTask 任务,两秒钟后赋值isExit标识为false,所以用户在这两秒中内再按一次返回键,则退出程序。否则定时器TimerTask任务执行,标志为false。原理就是这么简单~
方法2:(屌丝写法)
private long exitTime = 0; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { exit(); return false; } return super.onKeyDown(keyCode, event); } public void exit() { if ((System.currentTimeMillis() - exitTime) > 2000) { Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); exitTime = System.currentTimeMillis(); } else { finish(); System.exit(0); } }
貌似说这种写法的效率最高~(o(╯□╰)o)
方法3:(高大上写法)
/** * 菜单、返回键响应 */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if(keyCode == KeyEvent.KEYCODE_BACK) { exitBy2Click(); //调用双击退出函数 } return false; } /** * 双击退出函数 */ private static Boolean isExit = false; private void exitBy2Click() { Timer tExit = null; if (isExit == false) { isExit = true; // 准备退出 Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show(); tExit = new Timer(); tExit.schedule(new TimerTask() { @Override public void run() { isExit = false; // 取消退出 } }, 2000); // 如果2秒钟内没有按下返回键,则启动定时器取消掉刚才执行的任务 } else { finish(); System.exit(0); } }原理同方法一,只不过细节上有些差别而且写在了onKeyDown() 方法中。
所谓条条大路通罗马,总有一款代码写法适合你!
0 0
- 按两次返回退出应用的三种写法
- 按两次返回退出应用
- Android按两次返回键退出应用
- android 按两次返回键退出应用
- Android 按两次返回键退出应用
- 按下两次返回键退出应用
- Android 按两次返回键退出应用
- 连续按两次返回键 退出应用
- 连按两次返回键退出应用
- android 两次返回退出应用
- Android双击返回退出应用的写法
- 实现两次按返回键退出的五种方法
- Android中连续按两次返回键退出应用
- 安卓开发,按两次返回键退出应用
- MUI 按两次返回键退出应用 及 地理位置获取
- 按两次返回,退出程序
- 按两次返回键退出
- 按 两次 返回键 退出
- UISearchBar和UISearchDisplayController
- 苦逼创业之路(1)-第一步
- Android事件总线 ( AndroidEventBus ) 框架发布
- 1-1 D 广搜
- 2014--管理学
- 按两次返回退出应用的三种写法
- apache服务器访问日志access.log设置
- 代码大全第二版读书笔记 第二部分-创建高质量的代码 七、高质量的子程序
- HTML,CSS,font-family:中文字体的英文名称 (宋体 微软雅黑)
- Android SDK开发包国内下载地址
- ConcurrentModificationException异常解决办法
- jQuery选择器(二)——层次选择器
- 全错位排列
- leetcode.19----------Remove Nth Node From End of List