和你一起终身学习,这里是程序员Android
经典好文推荐,通过阅读本文,您将收获以下知识点:
一、Android 按键修改
二、PhoneWindowManager 简介
三、如何打开 或者 关闭 Navigation Bar
四、如何长按Home 键启动Google Now
五、如何长按实体Menu键进入多窗口模式
六、如何点击 Menu键进入调出最近任务列表
七、如何让 App 拿到Power key 值
八、如何修Activity启动背景窗口
九、WindowManagerPolicy 简介
十、参考文献
一、Android 按键修改
在Android
中会有以下5
个按键(Back
、Home
、Menu
、Power
、Volume
)与用户进行交互,Framework
层中实现按键功能,因此,从手机系统定制的角度,可以满足客户的客制化要求。本文主要从Framework
层浅析这些客制化需求的实现。
Back、Home、Menu、Power、Volume 按键图
以MTK
平台为例,按键客制化的代码主要存放在以下类中
PhoneWindowManager
PhoneWindowManager
代码路径如下:
alps\frameworks\base\services\core\java\com\android\server\policy\PhoneWindowManager.java
alps\frameworks\base\core\java\android\view\WindowManagerPolicy.java
二、 PhoneWindowManager 简介
PhoneWindowManager
类实现接口如下:
java.lang.Object
↳ android.view.WindowManagerPolicy.java
↳ com.android.server.policy.PhoneWindowManager.java
PhoneWindowManager 类实现关系
PhoneWindowManager
主要用于实现各种实体或虚拟按键处理,如需特殊处理按键,请修改源码。
三、 如何打开 或者 关闭 Navigation Bar
<