Level5以上(包含)中,Activity类中有如下方法:
public void onAttachedToWindow ()
Since: API Level 5
Called when the main window associated with the activity has been attached to the window manager. See View.onAttachedToWindow() for more information.
See Also
* onAttachedToWindow()
private boolean catchHomeKey = false;
@Override
public void onAttachedToWindow() {
// TODO Auto-generated method stub
if(catchHomeKey) {
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
}
super.onAttachedToWindow();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode == KeyEvent.KEYCODE_HOME) {
Log.e(TAG, "Home key down");
}
return super.onKeyDown(keyCode, event);
}
重写Activity中的onAttachedToWindow方法,设置Type,就能捕获到Home键。
当不需要捕获时,删除setType这一行就OK。