我有一种方法可以阻止我的应用铃声
的 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();
}
但是这些方法也会在我的应用上调用另一个按钮点击事件 那么请给我任何想法?我做错了什么。
答案 0 :(得分:1)
Android已停止用户修改主页按钮所具有的操作。
正如silvia-aut(answer)
所述在较旧的Android版本上,这是有效的。但Android改变了这一点,因为他们说“主页按钮应该保持主页按钮”并且他们不希望任何人覆盖主页按钮。由于这个原因,你的代码不再起作用了。
如果您想在按下主页按钮时执行某些操作,请在onPause方法中执行此操作。
其次,尝试先调用您的方法,然后暂停:
@Override
public void onPause(){
CommonUtils.pauseMusic();
super.onPause();
}