我的做法是在PhoneWindowManager.java 这个文件中,在interceptBeforeQueueing 函数中
通过 return ACTION_PASS_TO_USER 来决定是否分发给ap ,但现在通过这种方法的话
有的apk能收到keycode,有的apk收不到keycode。 所以想问下apk如果监听按键事件的话有
是有多种方法吗
1、当与运行到应用包之后,在PhonewindowManager.java这里 对所以的按键都不做处理与分发。这个用户点击什么都不会起作用了。
2、修改Framework源码,PhoneWindowManager的interceptKeyTi()中会判断按键是否为HOME按键,若是则直接跳转到HOME,不是才会继续往后走——之后才会通过消息机制传递给当前Focus的Activity。
PhonewindowManager.java 能够拦截实体按键。虚拟按键是在SystemUI里面处理的,虚拟按键的home按键在这个类也能拦截到。