停止设备上的音乐播放器主页按钮android

停止设备上的音乐播放器主页按钮android,android,event-handling,android-mediaplayer,android-homebutton,Android,Event Handling,Android Mediaplayer,Android Homebutton,我有一个android应用程序,我尝试为一个特定的活动播放背景声音(声音将在单个活动上播放,而不是整个应用程序)。 我正在使用此代码启动MediaPlayer MediaPlayer backMP = MediaPlayer.create(this, R.raw.theme_loop); backMP.setLooping(true); backMP.start(); 这是工作正常,但我只想停止对家庭的音乐按钮按下这个我已经尝试 backMP.release(),backMP.stop()在

我有一个android应用程序,我尝试为一个特定的活动播放背景声音(声音将在单个活动上播放,而不是整个应用程序)。 我正在使用此代码启动MediaPlayer

MediaPlayer backMP = MediaPlayer.create(this, R.raw.theme_loop);
backMP.setLooping(true);
backMP.start(); 
这是工作正常,但我只想停止对家庭的音乐按钮按下这个我已经尝试
backMP.release()
backMP.stop()
onPause()
方法中,任何东西对我都不起作用。

在onDestroy、onStop和onPause中使用
backMP.stop
,它将解决您的问题。

使用这种方法

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
    if(keyCode == KeyEvent.KEYCODE_HOME)
    {
        Log.d("Test", "Home button pressed!");
        backMP.stop(); 
    }
    return super.onKeyDown(keyCode, event);
}
或者你也可以像那样在onResume()中开始播放

然后像那样在onpouse()停下来

  @Override
      protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
        backMP.stop(); 
     }

我认为这是行不通的,Android不允许您捕获主密钥事件。关于恶意内容…最好使用OnPause。和OnResume,在重新打开应用程序时重新开始播放。如果我对此进行评论,则在声音结束后,它将自动停止。这只是为了重复声音。你能把代码发布到你的活动中吗?两个建议的答案都是有效的。
  @Override
      protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
        backMP.stop(); 
     }