为什么这个键只有在长按时才会被调度。我试图让它正常按下电源按钮以使铃声流中当前播放的音频静音。它仅在长按时起作用,正常按会关闭屏幕。我需要它在普通媒体上工作。
@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。下次搜索。关于android - KEYCODE_POWER 仅在长按时调度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12353647/