在项目中遇到了这样的问题,系统层修改了android原生逻辑,按键事件有mcu直接上报,没有走android原生的事件分发流程,因此不会触发onKeyDown/onKeyUp方法的回调,可以使用如下方法注入android原生事件触发回调
/**
*@param input :int key(键值),int action(动作)
*触发android原生按键事件
*/
public void androidNativeKeyEvent(int KeyCode,int action){
Log.d("KeyTest","Android system key down keyCode "+keyCode + " action "+action);
long now = SystemClock.uptimeMillis();
InputEvent event = new KeyEvent(now,now,aciton,keyCode,0,0,KeyCharacterMap.VIRTUAL_KEYBOARD,0,0,InputDevice.SOURCE_KEYBOARD);
InputManager.getInstance().injectInputEvent(event,InputManager.INJECT_INPUT_EVENT_MODE_ASYNC);
}