手记

Android中实现按两次返回按钮退出应用

原理很简单:定义一个TimerTask定时器和一个是否退出程序的标志isExit。第一次按返回键时,赋值isExit标志为True,开启定时器TimerTask任务,两秒钟后赋值isExit标志为false,所以用户在这两秒钟之内,再按一次返回键,则退出程序。否则定时器TimerTask任务执行,赋值isExit标志为false。

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);
   } esle {
    finish();
    System.exit(0);
   }
   return true;
  }
  return super.onKeyUp(keyCode, event);
 }

原文链接:http://www.apkbus.com/blog-664680-59107.html

0人推荐
随时随地看视频
慕课网APP