在Activity中重写onAttachedToWindow, dispatchKeyEvent方法
public void onAttachedToWindow() {
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
switch (event.getKeyCode()) {
case KeyEvent.KEYCODE_HOME:
//your logic code
return true;
default:
break;
}
}
return super.dispatchKeyEvent(event);
}