1.概述
在13.0的系統定制化開發中,要求屏蔽掉音量+ 音量-的功能,根據系統屬性來判斷是否響應音量加減的功能,在系統上層中是由PhoneWindowManage來管理音量鍵的功能,
所以就要看是PhoneWindowManage.java中怎么處理的音量鍵的功能
首選看的源碼關于音量鍵的處理
2.系統屬性控制音量鍵功能是否可用開關(屏蔽音量加減功能)的核心代碼
/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java
3.系統屬性控制音量鍵功能是否可用開關(屏蔽音量加減功能)的核心功能分析
系統主要是在PhoneWindowManager的beginLayoutLw() 方法中構建SystemBar對應的視圖窗口區域坐標對象的
PhoneWindowManager主要管理Android 手機的特定UI行為、包括定義窗口的分層、窗口的類型、input事件的調度和窗口的布局
PhoneWindowManager的窗口布局,既要能滿足應用對窗口大小的需求(通常是填充整個屏幕),還要能告知應用屏幕的
過掃描區域大小和裝飾區大小
同時在PhoneWindowManager中處理power電源鍵 音量鍵的按鍵處理事件功能,
3.1PhoneWindowManager.java音量鍵的處理分析
在實現系統屬性控制音量鍵功能是否可用開關(屏蔽音量加減功能)的核心功能中,通過上述的分析得知,
在PhoneWindowManager.java中主要處理power 音量鍵等按鍵事件的處理功能,
看下PhoneWindowManager.java中的關于音量鍵的按鍵事件處理流程來實現相關功能的分析