点击按两次返回键退出
2016-05-31 20:09
330 查看
// 定义一个变量,来标识是否退出
// 实现两次点击退出
private static boolean isExit = false;
private static final String TAG = MainActivity.class.getSimpleName();
private static Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
isExit = false;
}
};
// 重写onKeyDown方法
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
exit();
return true;
}
return super.onKeyDown(keyCode, event);
}
private void exit() {
if (!isExit) {
isExit = true;
Toast.makeText(getApplicationContext(), "再按一次后退键退出程序",
Toast.LENGTH_SHORT).show();
// 利用handler延迟发送更改状态信息
// 时间2s
mHandler.sendEmptyMessageDelayed(0, 2000);
} else {
Log.e(TAG, "exit application");
this.finish();
}
}
// 实现两次点击退出
private static boolean isExit = false;
private static final String TAG = MainActivity.class.getSimpleName();
private static Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
isExit = false;
}
};
// 重写onKeyDown方法
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
exit();
return true;
}
return super.onKeyDown(keyCode, event);
}
private void exit() {
if (!isExit) {
isExit = true;
Toast.makeText(getApplicationContext(), "再按一次后退键退出程序",
Toast.LENGTH_SHORT).show();
// 利用handler延迟发送更改状态信息
// 时间2s
mHandler.sendEmptyMessageDelayed(0, 2000);
} else {
Log.e(TAG, "exit application");
this.finish();
}
}
相关文章推荐
- 基于用户类型调起不同类型浏览器窗口的一种方案
- Middle-题目118:210. Course Schedule II
- MyBatis里json型字段到Java类的映射
- 二叉排序树节点的删除(C++,算法导论),前中后序遍历(递归/非递归,栈实现),按层次遍历(队列实现)
- 大数据量报表导出相关的设置问题解决
- 空间分析相关接口(ITopologicalOperator,IRelationalOperator,IProximityOperator)
- 非二进制字符串数据:CHAR,VARCHAR,TEXT
- ZeroICE 3.5.1绑定地址错误
- 信息检索(IR)的评价指标介绍 - 准确率、召回率、F1、mAP、ROC、AUC
- 浅谈Runloop
- 用java写的冒泡排序算法
- LeetCode37.Sudoku solver电脑来解数独
- 背包问题
- 数据库中的事务是什么
- SQL常用易忘命令
- 重载与重写的区别
- Middle-题目117:98. Validate Binary Search Tree
- java继承关系
- Java读写文化总结
- Middle-题目116:224. Basic Calculator