Android 点击两次Back键监听退出程序

本篇Blog记录点击两次Back键退出程序的写法

效果如下
在这里插入图片描述

我们通过该方法来实现

	@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
    
    
   		return super.onKeyDown(keyCode, event);
    }

然后说明一下这两个方法的作用
onKeyDown():
当某个键被按下时会触发,但不会被任何的该Activity内的任何view处理。
默认按下KEYCODE_BACK键后会回到上一个Activity。

onKeyUp():
当某个按键被按下,松开后触发,但不会被任何的该Activity内的任何view处理。
默认没有执行任何操作,只是简单的给一个false作为返回值。

实现代码

	/**
     * First time click on back
     */
    private Long mExitTime = 0L;


	@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
    
    
        if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
    
    
            if (System.currentTimeMillis() - mExitTime > 2000) {
    
    
                Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
                mExitTime = System.currentTimeMillis();
            } else {
    
    
                finish();
                System.exit(0);
            }
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

一般来说通过这种方式来实现

猜你喜欢

转载自blog.csdn.net/A_Intelligence/article/details/110387546