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。原理就是这么简单~

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

时间: 2017-07-19

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐