继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

桃花长相依
关注TA
已关注
手记 113
粉丝 15
获赞 56

原理很简单:定义一个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

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP