首页 > 系统 > Android > 正文

Android中再按一次退出提醒实现的两种方法

2019-12-12 00:13:41
字体:
来源:转载
供稿:网友

很多应用中都有一个在用户后退的时候显示“再按一次退出”的提醒,这个怎么实现呢?有两种方式

第一种方式(最常用)

 long waitTime = 2000;  long touchTime = 0;  @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(event.getAction() == KeyEvent.ACTION_DOWN && KeyEvent.KEYCODE_BACK == keyCode) {      long currentTime = System.currentTimeMillis();      if((currentTime-touchTime)>=waitTime) {      //让Toast的显示时间和等待时间相同       Toast.makeText(this, "再按一次退出", (int)waitTime).show();        touchTime = currentTime;      }else {        finish();      }      return true;    }    return super.onKeyDown(keyCode, event);  }

第二种方式

重写onBackPressed方法直接监听返回键

 @Override public void onBackPressed() {    long currentTime = System.currentTimeMillis();     if((currentTime-touchTime)>=waitTime) {      //让Toast的显示时间和等待时间相同      Toast.makeText(this, "再按一次退出", (int)waitTime).show();       touchTime = currentTime;     }else {       finish();     }  }

这种方法虽然写法简单,但是这种方法缺只适用于Android 2.0以后.

如果你需要同时重写这两个方法,可能要注意一些问题啦!系统先是onKeyDown,如果return true了,就不会onBackPressed了

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对武林网的支持。如果你想了解更多相关内容请查看下面相关链接

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表