微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > 如何将HOME键传给APP,屏蔽系统的home键功能

如何将HOME键传给APP,屏蔽系统的home键功能

时间:10-02 整理:3721RD 点击:
[DESCRIPTION]
如何将HOME键传给APP,屏蔽系统的home键功能
[SOLUTION]
KK版本APP可以使用
this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_HOMEKEY_DISPATCHED);
L版本因为flag的位数已被系统用完,故没有FLAG_HOMEKEY_DISPATCHED
这个feature,
现在只有通过硬编码才能解决这个问题。
修改PhoneWindowManager.java中的
@Override
public long interceptKeyBeforeDispatching(WindowState win, KeyEvent event, int
policyFlags) {
......
// timeout.
if (keyCode == KeyEvent.KEYCODE_HOME) {
//com.example.ADC 替换为贵司的apk 包名称即可。
if(win != null && win.getAttrs() !=
null&&win.getOwningPackage().equals("com.example.adc")){
return 0;// return 0就会丢给app处理了。
}
如果要仅仅丢给某个APP的某个activity,可以用下面的方法:
if(win != null && win.getAttrs() !=
null&&winstate.getAttrs().getTitle().contain("xxx.xxx.xxx.xxxActivity")){
return 0;// return 0就会丢给 xxx.xxx.xxx.xxxActivity处理了。
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top