android中得home事件app是不能捕获的,但是我们可以通过如下方法捕获它
/** * home键的捕获,需要重写onAttachedToWindow并设置type */ private boolean catchHome=true; @Override public void onAttachedToWindow() { if(catchHome) this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); super.onAttachedToWindow(); }
然后在keydown方法中
public boolean onKeyDown(int keyCode,KeyEvent event){ Log.d(this, "**************keycode home", "onKeyDown"); if(keyCode==KeyEvent.KEYCODE_HOME){ Log.d(this, "**************keycode home", "KEYCODE_HOME"); } return super.onKeyDown(keyCode, event); }
但是捕获后会有个问题:app将不会在执行系统的home事件。
有大牛知道如何解决这个问题的话望告知