Android:onKeyListener()不执行电源按钮

时间:2017-04-27 16:53:50

标签: android

我正在处理一个我需要在按下时听片段中的电源和音量按钮的事情。我使用音量按钮成功完成了此操作,但是,按下电源按钮时,屏幕关闭,我的代码无法执行。

view.setOnKeyListener(new View.OnKeyListener() {
     @Override
     public boolean onKey(View v, int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) {

                p = true; //value assigned here!
                return true;

            } else if (keyCode == KeyEvent.KEYCODE_POWER) {

                m = true; //value is not assigned here :/
                return true;

            }
}

知道如何在按下电源按钮时让我的代码执行吗?

1 个答案:

答案 0 :(得分:1)

在早期版本的Android中,按电源键会触发KeyListener,但在最新版本中(在Kitkat附近)按电源键只会导致打开设备屏幕开/关。

您无法再按电源键,但您可以通过聆听ActivityonStart() onStop()从Intent.ACTION_SCREEN_OFFIntent.ACTION_SCREEN_ON收听{callbacks 或收听ServiceBroadcastListener 广播