从froyo开始,不可截取的home key可以截取了。
@Override
public void onAttachedToWindow() {
// forbidden home key.
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
然后在onkeydown中filter即可。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_HOME:
return true;
}
return super.onKeyDown(keyCode, event);
}
还发现一个特殊情况,当activity的theme为dialog时,如果使用onAttachedToWindow,后方
原本正常显示的Activity无法正常显示,为全黑。
解决方法是当前ovriide onAttachedToWindow的Activity下层的Activity也override方法
onAttachedToWindow.