//监听home键和back键
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_HOME) {
//做自己想要做的事情
//当监听home之后 如果在按返回键的时候,就不会有home键之前的效果了,底下这个是使之返回到桌面上。
Intent mHomeIntent = new Intent(Intent.ACTION_MAIN, null);
mHomeIntent.addCategory(Intent.CATEGORY_HOME);
mHomeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
startActivity(mHomeIntent);
//做事情
Config.setHomeClick(true);
}
//因为将back键也给取消监听了,所以得重写这个back的监听的方法,要不返回键就失去效果了。
if(keyCode == KeyEvent.KEYCODE_BACK) {
onBackPressed();
}
return false;
}
//不管是home键还是back键都必须有地下这段代码否者就不会监听到home键。
@Override
public void onAttachedToWindow() {
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}