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

今天小编就为大家分享一篇关于Android中再按一次退出提醒实现的两种方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

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

第一种方式(最常用)


 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了

总结

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

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

这篇文章主要介绍了Android关于获取时间的记录(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这篇文章主要介绍了Android关于SeekBar无法点击到最大值问题解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这篇文章主要介绍了Android开发实现布局帧布局霓虹灯效果,涉及Android界面布局、资源文件操作及属性设置等相关技巧,需要的朋友可以参考下
这篇文章主要给大家介绍了关于Flutter调用Android和iOS原生代码的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Flutter具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
这篇文章主要介绍了Android开发实现圆形图片功能,涉及Android实现圆形图片的界面布局与CirImageView组件相关使用操作技巧,需要的朋友可以参考下
在本篇文章中小编给大家整理了关于Android Studio设置或修改Android SDK路径方法和相关知识点,需要的朋友们学习下。