秋梦无痕

一场秋雨无梦痕,春夜清风冻煞人。冬来冷水寒似铁,夏至京北蟑满城。

Avatar

Android中屏蔽Home键

在某些Android系统(MTK平台,KitKat 4.4.2)上测试成功。

在onCreate函数里面设置window状态,必须添加,否则无法屏蔽Home键:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG); // 据说2.3版本以下起作用,没有测试
getWindow().setFlags(0x80000000, 0x80000000); // 关键代码
setContentView(R.layout.main);
}

重写onKeyDown函数:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == event. KEYCODE_HOME) {
return true;
}
return super.onKeyDown(keyCode, event);
}

AndroidMainfest.xml里,屏蔽HOME键需要添加的权限
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>