在13.0的产品rom定制化开发中,系统默认可以通过音量键和电源键来截图的,但是产品不需要截图功能,所以要求去掉音量和电源键的截图功能,所以要分析组合键截图功能屏蔽掉就好了
frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java
关于在系统中按键的响应处理都是在PhoneWindowManager中有两个方法中的
interceptKeyBeforeQueueing方法的意义就是在事件入队列前拦截按键事件,也就是如果这个阶段被拦截,事件将不会再被分发。
在分发keyevent事件前,会先将event上报给PhoneWindownManager处理,如果PhoneWindowManager消费掉,则不会继续分发给应用
interceptKeyBeforeDispatching是在事件分发前进行拦截,同样也是交给PhoneWindomManager来进行处理
interceptKeyBeforeDispatching和interceptKeyBeforeQueueing,其中包括了几乎所有按键的处理,
interceptKeyBeforeDispatching主要处理Home键、音量键、back键等,
interceptKeyBeforeQueueing主要处理音量键、电源键、耳机键等。接下来分析下源码
首先分析interceptKeyBeforeQueueing()如下:
@Override