双击返回键两次后退出
来源:互联网 发布:windows下的linux终端 编辑:程序博客网 时间:2024/06/06 00:05
在很多主流的APP中都会出现这个小功能点。今天自己做东西的时候我也想把这个小功能做进去,所以查阅了一下,发现这个小功能虽然实现简单,但自己还真不一定想得到!查阅的地址
步骤一:
定义一个变量,标示此时针对返回键是否可以退出
boolean isExitableForBack;
步骤二:
重写boolean onKeyDown(int keyCode, KeyEvent event)方法,实现我自己需要的逻辑。
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { exit(); return false; } else { return super.onKeyDown(keyCode, event); } }
步骤三:
实现步骤二中的exit()函数
public void exit(){ if (!isExitableForBack) { isExitableForBack = true; Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); mHandler.sendEmptyMessageDelayed(0, 2000); } else { this.finish(); } }
步骤四:
编写一个Handler类,响应步骤三种的消息。这种写法会有警告,这个警告就涉及到java的泄露问题了。
Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); isExitableForBack = false; } };
实现的原理就是:isExitableForBack标示针对此次点击BACK是否可以退出,当第一次点击BACK的时候,事件被onKeyDown捕获,并且执行exit()函数修改isExit标明针对点击BACK会退出。此时还会在2秒后发送一个消息,如果在2秒内再次点击BACK因为isExit标明针对此次点击可以退出,则退出,若果在2秒后点击则消息被处理isExit又被修改为针对此次点击BACK不会退出。
0 0
- 双击返回键两次后退出
- 双击返回键后退出
- 安卓实现点击两次返回后退出程序
- Android实现两次按下返回按钮后退出应用程序
- Android学习中返回键弹框提示或两次点击后退出
- Android两次后退键退出
- Android两次后退键退出
- Android两次后退键退出
- Android双击两次返回按钮退出程序
- 点击返回键:弹出退出的对话框和双击两次返回键,退出
- 【Android】双击返回键,退出android应用程序 双击两次退出程序提示功能 三种实现方法
- android按两次后退键退出程序
- Android按两次后退键,退出程序
- android按两次后退键退出程序 .
- android按两次后退键退出程序
- Android连续两次后退键退出程序
- 关于按两次后退键退出app
- android 点击两次后退键退出程序
- java 中截取中文字符串的问题
- 软件开发遵循过程
- ubuntu的常用工具
- 怎样练习10000小时
- C++引用传递和值传递
- 双击返回键两次后退出
- HTML中input type="text"和type="password" 显示的长度不一样
- VC通用控件编程之CImageList控件
- PullToRefresh 使用说明
- Swift 构造过程+析构过程(十三)
- 768 移位密码
- android 使用Webview时候清楚缓存各种方式无效后
- PHP 开启报错提示
- 查找没有commit的事务