Android 点击两次退出app

Android 中用户要退出应用程序,看到大部分退出应用程序的做法是:弹出一个对话框,用户点了确定后退出。个人觉得这用户体验有点不好,手指还要往屏幕中间移动再点 击。用户按了一次后退键,这可能用户是误按了后退键,并不想直接退出程序,给用户提示”再按一次后退键退出应用程序“,如果用户真想退出,直接再按一次后退键即可退出整个应用程序。

网上有好多实现方法,看到大部分人博客转的方法如下:

private static Boolean isExit = false;  
 
Timer tExit = new Timer();  

MyTimerTask  task;  
class MyTimerTask  extends TimerTask{    

  public void run() {  
     isExit = false; 
  }  
}      
 
public boolean onKeyDown(int keyCode, KeyEvent event) {  
     
    if (keyCode == KeyEvent.KEYCODE_BACK) {  
        if(isExit == false ) {  
            isExit = true;  
            Toast.makeText(this, "再按一次后退键退出应用程序", Toast.LENGTH_SHORT).show();  
            if(task!=null)  
                task.cancel();                // 将原任务从队列中移除  
           task = new MyTimerTask();          // 新建一个任务        
                   tExit.schedule(task, 2000);  
        } else {  
            finish();
       System.exit(0);  
        }  
   }  
     return false;  
}

经过测试,功能正常,还有一种简便方法也和大家分享一下:

private long exitTime = 0;  
 
public boolean onKeyDown(int keyCode, KeyEvent event) {  
   if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){  
       if((System.currentTimeMillis()-exitTime) > 2000){  
           Toast.makeText(getApplicationContext(), "再按一次后退键退出程序", Toast.LENGTH_SHORT).show();  
           exitTime = System.currentTimeMillis();  
       } else {  
           //退出代码  
       }  
       return true;  
   }  
   return super.onKeyDown(keyCode, event);  
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值