Android中再按一次退出实现
16lz
2021-01-25
很多应用中都有一个在用户后退的时候显示“再按一次退出”的提醒,这个怎么实现呢?有两种方式
第一种方式(最常用)
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了。
更多相关文章
- GitHub 标星 2.5K+!教你通过玩游戏的方式学习 VIM!
- android添加快捷方式
- Android(安卓)Service的两种启动方式
- Android启动流程简析(三)
- android 各种xml资源的引用方式
- Android(安卓)Drawable 对象复制、拷贝
- Android判断两个时间的间隔
- Android模块化编程——WebView使用之系统返回键设置
- android相机拍照