Android 主页按钮不起作用

Android home button does not work

我有一个方法可以停止我的应用程序铃声。
CommonUtils.pauseAlarm();
我想在设备主页按钮点击上应用这些方法,但它没有获取主页按钮点击事件。

所有按键事件检测如菜单、向上、向下按钮点击但不获取主页按钮点击

if ((keyCode == KeyEvent.KEYCODE_HOME)) {          
    CommonUtils.pauseAlarm();// background services 
    return true;
}

我搜索了很多网站,有些网站给出了这样的解决方案

@Override
protected void onUserLeaveHint() {
    Log.d("onUserLeaveHint", "Home button pressed");
    CommonUtils.pauseMusic();
    super.onUserLeaveHint();
}

我也在尝试这个功能

@Override
public void onPause(){
    super.onPause();
    CommonUtils.pauseMusic();
}

但这些方法还会在我的应用程序上调用另一个按钮单击事件 所以请给我任何想法?我做错了什么。

Android 已阻止用户修改主页按钮的操作。

silvia-aut (answer)

所述

On older Android version this is working. But Android changed this, because they say "Home Button should stay Home Button" and they don't want that anybody override the Home Button. And because of this reason your code is not working anymore.

如果你想在按下主页按钮时执行某些操作,请在 onPause 方法中执行此操作。

其次,尝试先调用您的方法,然后暂停:

@Override
public void onPause(){
    CommonUtils.pauseMusic();
    super.onPause();
}