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 中RxPermissions 的使用方法详解
这篇文章主要介绍了Android 中RxPermissions 的使用方法详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下2017-10-10
Android音视频开发只硬件解码组件MediaCodec讲解
在Android开发中提供了实现音视频编解码工具MediaCodec,针对对应音视频解码类型通过该类创建对应解码器就能实现对数据进行解码操作。本文通过示例详细讲解了MediaCodec的使用,需要的可以参考一下2023-01-01
Android 滑动监听RecyclerView线性流+左右划删除+上下移动
这篇文章主要介绍了Android 滑动监听RecyclerView线性流+左右划删除+上下移动的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下2016-09-09
Android编程实现popupwindow弹出后屏幕背景变成半透明效果
这篇文章主要介绍了Android编程实现popupwindow弹出后屏幕背景变成半透明效果,涉及Android设置getWindows透明度的方法,需要的朋友可以参考下2016-01-01
Android图像切换器imageSwitcher的实例应用
这篇文章主要为大家详细介绍了Android图像切换器imageSwitcher的实例应用,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2020-10-10
Android系统联系人全特效实现(上)分组导航和挤压动画(附源码)
本文将为大家讲解下Android系统联系人全特效实现之分组导航和挤压动画,具体实现及源代码如下,感兴趣的朋友可以参考下哈,希望对大家学习有所帮助2013-06-06


最新评论