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

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

12-02 16:28:54.634 D/PhoneUtils( 1113): setAudioMode()...RINGING12-02 16:28:54.644 D/PhoneUtils( 1113): setAudioMode() no change: MODE_RINGTONE12-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

更多相关文章

  1. Android(安卓)Audio System 之一 Audio (1) AudioTrack如何与Aud
  2. android使用html+javascript来制作页面
  3. 6. Android(安卓)MultiMedia框架完全解析 - NuPlayerDriver与NuP
  4. Android(安卓)自定义控件之第二讲:TypedArray 详解
  5. Android程序设计逻辑分析之用户事件响应-回调函数的使用
  6. Android入门 在ListView中如何进行精确的定位
  7. Python String 的replace()与List的remove()
  8. 从Android到IOS,IOS应用生命周期函数
  9. 2_android studio工具用法积累

随机推荐

  1. android 笔记 --- Android界面刷新的方法
  2. Android(安卓)应用开发笔记 - 切换图片(Im
  3. WebView深究之Android是如何实现webview
  4. 如何设计一款AndroidAPP
  5. android每日一问【2011-09-19】
  6. Android(安卓)ListView长按弹出对话框
  7. Android(安卓)混淆配置文件及常用第三方
  8. [android]android自动化测试十二之代码控
  9. 运行时权限解析以及申请的实现(可完美解决
  10. android 获取外置sd卡根目录