PhonewindowManager 使用详解

0297d4e5e0ff8c080cd3c7862bd5a8f4.gif

和你一起终身学习,这里是程序员Android

经典好文推荐,通过阅读本文,您将收获以下知识点:

一、Android 按键修改
二、PhoneWindowManager 简介
三、如何打开 或者 关闭 Navigation Bar
四、如何长按Home 键启动Google Now
五、如何长按实体Menu键进入多窗口模式
六、如何点击 Menu键进入调出最近任务列表
七、如何让 App 拿到Power key 值
八、如何修Activity启动背景窗口
九、WindowManagerPolicy 简介
十、参考文献

一、Android 按键修改

Android 中会有以下5个按键(BackHomeMenuPowerVolume)与用户进行交互,Framework层中实现按键功能,因此,从手机系统定制的角度,可以满足客户的客制化要求。本文主要从Framework层浅析这些客制化需求的实现。

147f6d8d92f49ced12fa78e60ef46cd3.jpeg

Back、Home、Menu、Power、Volume 按键图


MTK 平台为例,按键客制化的代码主要存放在以下类中

  1. 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

facf2a5d17b3d1e6da2acb48f38c1d79.jpeg

PhoneWindowManager 类实现关系

PhoneWindowManager主要用于实现各种实体或虚拟按键处理,如需特殊处理按键,请修改源码。

三、 如何打开 或者 关闭 Navigation Bar

500a64a480448dadcc9435b3144aa76a.jpeg<

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员Android

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值