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。原理就是这么简单~
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎点击右下角反馈进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。