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.
- 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