1、重写onKeyDown方法监控返回键、菜单键
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK) {
// 监控返回键
new Builder(TestActivity.this).setTitle("提示")
.setIconAttribute(android.R.attr.alertDialogIcon)
.setMessage("确定要退出吗?")
.setPositiveButton("确认", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
TestActivity.this.finish();
}})
.setNegativeButton("取消", null)
.create().show();
return false;
} else if(keyCode == KeyEvent.KEYCODE_MENU) {
// 监控菜单键
Toast.makeText(TestActivity.this, "Menu", Toast.LENGTH_SHORT).show();
return false;
}
return super.onKeyDown(keyCode, event);
}
2.重写onAttachedToWindow方法,监控Home按键
@Override
public void onAttachedToWindow() {
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
3.刷新Activity页面
onCreate(null)
4.重启Activity页面
重写onNewIntent(Intent intent)