[Android] Android 两次Back键点击退出程序
来源:互联网 发布:回合网络手游 编辑:程序博客网 时间:2024/05/13 15:19
【需求分析】
在应用程序中经常会误操作点击返回键退出程序,现在需要连续两次点击返回键才退出程序,否则只是提示
用户当前按下了返回键,再按一次后就退出程序。
【效果展示】
【实现原理】
记录两次Back键按下的时间戳。如果两个时间戳之间的差值在一个设置的阈值范围内(程序中设置为2s)则
退出App,否则弹出一个Toast告知用户当前Back键被按下,再按一次就退出App.
【代码展示】
import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.Toast;/** * 功能:两次返回键退出App,第一次按下返回键时弹出Toast提示用户是否退出程序 * 作者:lexli * 博客:http://blog.csdn.net/csdn_lexli/article */public class MainActivity extends AppCompatActivity { private long lastPressTime = 0l; private int timeExpired = 2000; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } /** * 两次返回键退出App.实现的核心要素: * 原理:第一次按下返回键时,弹出提示Toast同时记录当时的时间。 * 如果下一次返回键时间与本次间隔在2s内,则退出App,否则 * 继续两次时间间隔检测 * 注意:这里是完全复写onBackPressed方法,不要调用父类的onBackPressed * 否则按一下返回键就退出了 */ @Override public void onBackPressed() { if (System.currentTimeMillis() - lastPressTime > timeExpired) { // 两次间隔在expiredTime外,则弹出Toasr提示用户“再按一次退出程序” Toast.makeText(MainActivity.this, "再按一次退出本程序", Toast.LENGTH_SHORT).show(); lastPressTime = System.currentTimeMillis(); } else { // 两次间隔在ExpiredTime内,直接退出程序 finish(); } // 注意,这里不需要调用父类的onBackPressed方法了,否则每次运行到这调用父类的onBackPressed退出程序了 //super.onBackPressed(); }}
0 0
- android 两次点击back键退出程序
- Android点击两次Back键退出程序
- Android 点击back键两次退出程序
- Android实现点击两次Back退出程序
- Android连续点击两次Back键退出程序 分类: Android
- [Android] Android 两次Back键点击退出程序
- Android连续点击两次Back键退出程序
- Android连续点击两次Back键退出程序
- Android连续点击两次Back键退出程序
- Android连续点击两次Back键退出程序
- Android连续点击两次Back键退出程序
- Android连续点击两次Back键退出程序
- Android中连续点击两次BACK键退出程序
- Android连续点击两次Back键退出程序
- Android连续点击两次Back键退出程序
- {转}Android点击两次Back键退出当前程序
- android 点击两次back 键退出app
- Android点击两次back退出程序的两种方法
- CSU 1216: 异或最大值(字典树+贪心)
- C++著名类库
- 对触摸事件冲突的解决
- Android学习笔记(二)—用户界面设计
- QT5 窗口标题显示中文
- [Android] Android 两次Back键点击退出程序
- vim NERDTree 快捷键笔记
- 笔试时怎么用Python读取输入行
- Hadoop运行原理详解
- Primer Plus 12章课后编程练习 第二题
- yii2笔记02:基本原理
- How to Render Image Buffer in Android NDK Native Code
- 嵌入式实时操作系统ucos/ii 原理与应用(一)
- Linux进程间通—— 消息队列