安卓“再按一次退出”提示的实现

简单好用的方法:
重写onKeyDown或者dispatchKeyEvent都能实现,
按返回键时先执行dispatchKeyEvent方法;
返回值:return true或false;只会执行自己的方法;
return super.dispatchKeyEvent(event);会继续调用系统的方法。
以重写dispatchKeyEvent方法为例:

private long lastExitTime = 0;
    @Override
    public boolean dispatchKeyEvent(KeyEvent event) {
        if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
            if (event.getAction() == KeyEvent.ACTION_DOWN && event.getRepeatCount() == 0) {
                // 判断2次点击事件时间
                if ((System.currentTimeMillis() - lastExitTime) > 2000) {
                    Toast.makeText(MainActivity.this, "再按一次退出",0).show();
                    lastExitTime = System.currentTimeMillis();
                } else {

                    finish();
                }

            }
            return true;
        }
        return super.dispatchKeyEvent(event);
    }

你可能感兴趣的:(onKeyDown,dispatchKe)