监听back按键,再次点击退出应用
来源:互联网 发布:销售软件 编辑:程序博客网 时间:2024/05/21 14:06
1、使用handler的延时发送Message机制,达到”再次点击退出“ 效果
sendEmptyMessageDelayed(int,int);
参一: 需要传递的值 ; 参二:延迟多少毫秒发送
handler 为全局属性
// 标记是否连续点击 back boolean isContinuous = false; Handler mHandler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); isContinuous = false; } };
该方法中判断是否退出应用
public void exitApp(){ if(isContinuous){ finish(); }else { isContinuous = true;//设置连续点击标记为true Toast.makeText(this,"再按一次退出程序",Toast.LENGTH_LONG).show(); //如果两次点击之间间隔超过2000毫秒,则会发送message,在handler中重新对标记设置为false **mHandler.sendEmptyMessageDelayed(0,2000);** } }
在Activity重写onKeyDown()方法,在onKeyDown()中调用 exitApp()方法
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode== KeyEvent.KEYCODE_BACK){ exitApp(); return true; } return super.onKeyDown(keyCode, event); }
2、利用System.currentTimeMillis() 对比。 根据 现在点击back时的时间 与 之前点击back时的时间 的差值 判断是否大于预设值。
long firtstTime = 0; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode== KeyEvent.KEYCODE_BACK){ long secondTime = System.currentTimeMillis(); if (secondTime - firstTime > 2000) { //如果两次按键时间间隔大于2秒,则不退出 Toast.makeText(this, "再按一次退出", Toast.LENGTH_SHORT).show(); firstTime = secondTime;//更新firstTime return true; } else { //两次按键小于2秒时,退出应用 System.exit(0); } } return super.onKeyDown(keyCode, event); }
0 0
- 监听back按键,再次点击退出应用
- 安卓app再次点击退出应用
- Android 监听back事件,点击两次退出程序
- Android——UI篇:Android监听back按键动作,防止按下back按键退出程序。
- 点击两次back 退出
- back键监听退出应用的两种方式
- Android back键监听退出应用的两种方式
- Android 实现点击两次BACK键退出应用
- Android 实现点击两次BACK键退出应用
- Android 实现点击两次BACK键退出应用
- Android 实现点击两次BACK键退出应用
- 两次点击BACK键退出应用的效果
- Android 实现点击两次BACK键退出应用
- android实现点击两次back键退出应用
- Android 实现点击两次BACK键退出应用
- Android 实现点击两次BACK键退出应用
- Android 监听Back、Home按键
- React Native监听Android回退按键,程序化退出应用
- HDOJ 1094 A+B for Input-Output Practice (VI)
- java.lang.NumberFormatException: Invalid int: ""
- CSS 颜色代码对应表
- PHP学习网
- HDOJ 1095 A+B for Input-Output Practice (VII)
- 监听back按键,再次点击退出应用
- Java开发中一些内置对象的总结
- 数据类型和Json格式
- 快速开发框架部分视频教程汇总
- UVa1342That Nice Euler Circuit(欧拉函数)
- C# 单ip端口扫描工具 (多线程)
- log file parallel write
- Android实现限制EditText输入文字的数量
- 264、Ugly Number II