Android 高通4.4.4 源码 如何屏蔽Home键

127 篇文章 0 订阅

原文地址: http://www.tuicool.com/articles/6N7ZfeQ

高通4.4.4 源码中如要屏蔽home键使之不响应,在应用层修改是没用的。

鉴于来电show出界面时,点击home键没有响应,我们可以打log看系统如何处理。

12-02 16:28:54.634 D/PhoneUtils( 1113): setAudioMode()...RINGING

12-02 16:28:54.644 D/PhoneUtils( 1113): setAudioMode() no change: MODE_RINGTONE

12-02 16:28:55.314 I/WindowManager(  928): Ignoring HOME; there's a ringing incoming call.

关键信息如下:

Ignoring HOME; there's a ringing incoming call.

Source Insight 中全局搜索上述关键信息,找到名为 PhoneWindowManager.java  的源文件

查看framework层代码

定位到名为 interceptKeyBeforeDispatching 的函数

从函数名我们可以知道此函数是是在分发按键事件之前进行拦截。

查看对KEYCODE_HOME home键的处理

关键代码如下

来电铃声响起时,return -1; 屏蔽home键

所以我们有屏蔽home键的需求,在这里写判断条件 return -1 做处理即可。

return -1 事件就被拦截了,就不会向上层分发了。

否则 响应home键 返回launcher

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值