2s内点击两次返回键退出应用
实现思路:监听返回按键,添加一个状态如果在2s内在此点击了返回键就改变状态然后消费事件即可
private static final int MESSAGE_BACK = 1;
private boolean isFlag = true;
private Handler handler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case MESSAGE_BACK:
isFlag = true; // 在2s时,恢复isFlag的变量值
break;
}
}
};
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && isFlag) {
isFlag = false;
Toast.makeText(MainActivity.this, "再点击一次返回键退出应用", Toast.LENGTH_SHORT).show();
handler.sendEmptyMessageDelayed(MESSAGE_BACK, 2000);
return true;
}
return super.onKeyUp(keyCode, event);
}
@Override
protected void onDestroy() {
super.onDestroy();
// 保证在activity退出前,移除所有未被执行的消息和回调方法,避免出现内存泄漏!
handler.removeCallbacksAndMessages(null);
}
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有