为什么只长按才能分配此键。我正在尝试使用它,以便正常按下电源按钮可使Ringer流中当前播放的音频静音。它仅适用于长按,正常按下可关闭屏幕。我需要它在普通印刷机上工作。

@Override
public boolean dispatchKeyEvent(KeyEvent event) {

        switch (event.getKeyCode()) {
        case KeyEvent.KEYCODE_POWER:
            if (ringer == null)
                return super.dispatchKeyEvent(event);

            if (!mute)
                if (ringer.isRinging())
                    ringer.stopRing();
                else if (!ringer.isRinging())
                    ringer.ring();

            mute = !mute;
            return true;
        }
return super.dispatchKeyEvent(event);


}

最佳答案

要捕获按下的电源按钮,所需的时间不止这些。

Google故意这样做,以使恶意应用程序无法阻止用户输入并阻止硬件按钮来接管您的设备。除此之外,只有在有充分理由的情况下才应该覆盖电源按钮。

如果您想知道如何做,请访问THIS问题并查看评分最高的答案。

PS。下次搜索。

08-05 13:14