Android点击两次返回键退出应用

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);
    }

本文首发于我的微信公众号,更多干货文章,请扫描二维码订阅哦:

您可以扫描上面的二维码,来关注我的微信公众号,来学习更多的干货文章!

另外,我还建了一个免费的知识星球,感兴趣的微信扫码即可加入!

image

发布了138 篇原创文章 · 获赞 168 · 访问量 46万+

猜你喜欢

转载自blog.csdn.net/xinpengfei521/article/details/68549110