Android 解决息屏状态无法发送按键广播
之前收到客户反馈说设备在息屏状态下按键无法发送广播,经排查最终发现,如果想要设备在息屏状态下按键仍可以正常发送广播的话,那么则需要将广播写在Queueing前,即interceptKeyBeforeQueueing方法体中
具体修改点如下:
在/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java中的
public int interceptKeyBeforeQueueing(KeyEvent event, int policyFlags) {
方法体中添加按键广播:
case KeyEvent.KEYCODE_F11: {
if (down) {
Intent intent = new Intent("android.intent.action.ptt.down");
mContext.sendBroadcast(intent);
} else if (!down) {
Intent intent = new Intent("android.intent.action.ptt.up");
mContext.sendBroadcast(intent);
}
break;
}
注:KEYCODE_F11即需要实现功能的物理按键键值,根据自己需要改为对应键值即可