[如何在Android屏幕上打开对话框时截取HOME键。
我已经解决了我的问题。现在我可以按照我想要的方式成功拦截HOME按钮。我已经在此博客中写下了所有步骤:https://nishandroid.blogspot.com/2012/01/intercept-home-key-android.html
根据android实现,您无法使用OnKeyListener()之类的简单API来捕获Home按钮按键事件。
[如果您想通过确定用户是否故意移出了Activity
(点击Activity
或back
按钮来正确管理home
中的对话框外观)或无意间隐藏了其他活动(例如来电)使用onUserLeaveHint
。
例如:
@Override
protected void onUserLeaveHint() {
super.onUserLeaveHint();
mDialog.dismiss();
}
设置对话框的DialogInterface.OnKeyListener
new OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode == KeyEvent.KEYCODE_HOME){
//do something
}
return false;
}
});