未检测到短按电源按钮

Not detecting short power button press

我想检测我的应用中电源按钮何时被按下(不是长按)。

我正在使用以下代码:

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (event.getKeyCode() == KeyEvent.KEYCODE_POWER) {
            Log.d("mytag", "keycode_power");
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

但是,没有任何打印记录。我也试过:

    @Override
    public boolean dispatchKeyEvent(KeyEvent event) {
        if (event.getKeyCode() == KeyEvent.KEYCODE_POWER) {
            Log.d("mytag", "power off");
        }
        return super.dispatchKeyEvent(event);
    }

但这也不管用。

有什么建议吗?

我不是专家,但我不认为电源按钮算作按键