微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > 如何在Android App中屏蔽(拦截)Home按键及其他按键

如何在Android App中屏蔽(拦截)Home按键及其他按键

时间:10-02 整理:3721RD 点击:
[Descipton]
如何在 App 层拦截(屏蔽) Home按键和其他按键,做一些特殊处理。(此方法不能屏蔽power Key)
[Solution]
编写一个Acitivity,如下所示:
关键点1:屏蔽HOME按键,在onAttachedToWindow中设置FLAG_HOMEKEY_DISPATCHED
关键点2:屏蔽除Power , Home外的按键,覆盖dispatchKeyEvent方法,并返回为true
public class LockByKeyGuard extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.Layout.main);
}
@Override
public void onAttachedToWindow() {
//关键:在onAttachedToWindow中设置FLAG_HOMEKEY_DISPATCHED
this.getWindow().addFlags(WindowManager.LayoutParams.
FLAG_HOMEKEY_DISPATCHED);
super.onAttachedToWindow();
}
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
// 返回true,不响应其他key
return true;
}

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

网站地图

Top