本文转自:http://blog.csdn.net/zhzhyang0313/article/details/6995553
下面两个函数要同时使用,才能达到捕获home键的效果
// 屏蔽Home键
@Override
public void onAttachedToWindow() {
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
// 捕获home键
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_HOME:
finish();
}
return super.onKeyDown(keyCode, event);
}
如果单独使用第一个函数只能达到屏蔽home键的效果,如果单独使用第二个函数不能达到捕获home键的效果,只有两个函数同时使用才能达到捕获home键的效果。
PS:系统自己对home按键在PhoneWindowManager中做了处理,因此不会返回到上层应用,所以需先屏蔽home按键,然后再去捕获处理。