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

第一种方式(最常用)

long waitTime = 2000;  long touchTime = 0; @Overridepublic 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方法直接监听返回键

@Overridepublic 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了。



更多相关文章

  1. GitHub 标星 2.5K+!教你通过玩游戏的方式学习 VIM!
  2. android添加快捷方式
  3. Android(安卓)Service的两种启动方式
  4. Android启动流程简析(三)
  5. android 各种xml资源的引用方式
  6. Android(安卓)Drawable 对象复制、拷贝
  7. Android判断两个时间的间隔
  8. Android模块化编程——WebView使用之系统返回键设置
  9. android相机拍照

随机推荐

  1. 自定义alertDialog
  2. Android(安卓)使用ViewModelProvider时th
  3. Window下Android(安卓)SDK安装
  4. Android(安卓)activity简单跳转动画(overr
  5. Android(安卓)之SearchView翻译
  6. Android(安卓)学习笔记(十四):Activity-Auto
  7. Android(安卓)5.0输入系统分析之InputRea
  8. android发送网络链接的几个类
  9. Android中的5种数据存储方式之——Shared
  10. 黑马66期android学习笔记 day1_快速入门