Android 实现按两次返回键退出程序
// 是否退出程序 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() { @Override public 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。原理就是这么简单~
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步