Android 当用户按下“主页”按钮时发出通知

Android 当用户按下“主页”按钮时发出通知,android,Android,我知道我不能像“后退”按钮那样覆盖“主页”按钮。但是,如果按下home(主页)按钮,android系统会触发事件吗?我想捕捉此操作,以便在用户按下home按钮时显示警告消息。我已经研究了几个选项,对于初学者来说,最明显的一个是覆盖home按钮 public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_HOME) { // action goes here

我知道我不能像“后退”按钮那样覆盖“主页”按钮。但是,如果按下home(主页)按钮,android系统会触发事件吗?我想捕捉此操作,以便在用户按下home按钮时显示警告消息。我已经研究了几个选项,对于初学者来说,最明显的一个是覆盖home按钮

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();
    }
这也有帮助

这也有帮助