home按键默认现在没法屏蔽,但是mtk由于特殊需要,需要拦截home按键,于是添加了一套机制实现。


1:在alps\frameworks\base\core\java\android\view WindowManager.java


里面添加一个属性
/** M: Window flag: When this flag is set, the home key can be dispatched
* to the window.
* {@hide} */
public static final int FLAG_HOMEKEY_DISPATCHED = 0x80000000;

2:在 alps\frameworks\base\policy\src\com\android\internal\policy\impl PhoneWindowManager.java
里面的
public long interceptKeyBeforeDispatching(WindowState win, KeyEvent event, int policyFlags) {
接口里面,添加
if (keyCode == KeyEvent.KEYCODE_HOME) {
/// M: [ALPS00054781]Dispatch the home key to the application @{
if (win != null && win.getAttrs() != null) {
final int flag = win.getAttrs().flags;
if ((flag & WindowManager.LayoutParams.FLAG_HOMEKEY_DISPATCHED) != 0) {
// the window wants to handle the home key, so dispatch it to it.
return 0;
}
}

通过这里来拦截home按键
3:如果需要app拦截
在 activity 的 onCreate 里面增加
getWindow().addFlags(FLAG_HOMEKEY_DISPATCHED);


即可。

更多相关文章

  1. 「横竖屏」 「分屏」 「虚拟按键」
  2. Android虚拟按键的适配
  3. Android App监听软键盘按键的方式与改变软键盘右下角确定键样式
  4. Android WIFI,蓝牙,电池,背光,SD卡,摄像头,按键,MIC,重力感应等)功能的简
  5. android TV盒子开发遥控器按键的监听
  6. Android 按键式事件
  7. android沉浸式状态栏和虚拟按键
  8. Android 之屏蔽,捕获Home键
  9. Android 接收短信并屏蔽notification 提示

随机推荐

  1. 用python开发android应用 【转载】
  2. android瀑布流,完美解决滑动过程中item位
  3. Android(安卓)Studio 预览-全屏
  4. Android实现>>>百度GPS定位
  5. Android视图的标签属性
  6. Android(安卓)Studio实现代码混淆 配置详
  7. Android(安卓)Studio 触摸屏事件
  8. 【Gradle】Android(安卓)Gradle 多项目构
  9. Android(安卓)RadioGroup设置单选效果
  10. Android(安卓)获取drawable目录图片 并存