嗨,我正在建立一个无障碍服务。我想处理键盘输入,并确定BACK
键事件。我想我最好的方法是覆盖onKeyEvent()
回调。但是我发现它甚至从未被调用过。我尝试在配置XML以及添加的android:canRequestFilterKeyEvents="true
模块中添加onServiceConnected
“
info.flags=AccessibilityServiceInfo.FLAG_REQUEST_FILTER_KEY_EVENTS;
info.flags=AccessibilityServiceInfo.FLAG_REPORT_VIEW_IDS;
setServiceInfo(info);
但是仍然没有运气。看起来偶
onKeyEvent
永远不会提高。 最佳答案
如果要处理“主页”按钮和“后退”按钮的事件,则必须添加以下内容:
在您的xml服务声明中:
1-android:canRequestFilterKeyEvents="true"
2-Add flagRequestFilterKeyEvents to your android:accessibilityFlags
在您的辅助功能服务类中,添加onKeyEvent:
@Override
public boolean onKeyEvent(KeyEvent event) {
int keyCode = event.getKeyCode();
switch (keyCode) {
case KeyEvent.KEYCODE_BACK:
Log.e(TAG, "Back");
case KeyEvent.KEYCODE_HOME:
Log.e(TAG, "Home");
return false;
}
return super.onKeyEvent(event);
}