Android 当用户按下“主页”按钮时发出通知
我知道我不能像“后退”按钮那样覆盖“主页”按钮。但是,如果按下home(主页)按钮,android系统会触发事件吗?我想捕捉此操作,以便在用户按下home按钮时显示警告消息。我已经研究了几个选项,对于初学者来说,最明显的一个是覆盖home按钮Android 当用户按下“主页”按钮时发出通知,android,Android,我知道我不能像“后退”按钮那样覆盖“主页”按钮。但是,如果按下home(主页)按钮,android系统会触发事件吗?我想捕捉此操作,以便在用户按下home按钮时显示警告消息。我已经研究了几个选项,对于初学者来说,最明显的一个是覆盖home按钮 public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_HOME) { // action goes here
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_HOME) {
// action goes here
} else {
return super.onKeyDown(keyCode, event);
}
}
但这不起作用,我完全意识到这一点
当前活动完成后,将调用onPause方法。当用户在我的应用程序中更改活动
时,也将调用此方法。那么,当用户按下home按钮时,我是否可以向用户显示一个通知框
提前感谢事实上,不可能像其他人一样捕捉按下主页按钮的事件,这是一项保护用户的功能
但对于您的情况,有一个技巧:
@Override
public void onAttachedToWindow()
{
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
super.onAttachedToWindow();
}
当视图附加到窗口时,将调用该函数
你可以读一下这个黑客的工作原理
此外,这表明此方法是有效的。实际上,不可能像其他方法一样捕获按下主页按钮的事件,这是一项保护用户的功能
@Override
protected void onUserLeaveHint() {
// TODO Auto-generated method stub
super.onUserLeaveHint();
}
但对于您的情况,有一个技巧:
@Override
public void onAttachedToWindow()
{
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
super.onAttachedToWindow();
}
当视图附加到窗口时,将调用该函数
你可以读一下这个黑客的工作原理
此外,这表明该方法是有效的
@Override
protected void onUserLeaveHint() {
// TODO Auto-generated method stub
super.onUserLeaveHint();
}
这也有帮助
这也有帮助