Android:在主屏幕或后退按钮上停止播放

问题描述:

当我在应用程序中按回或回到主屏幕时,它隐藏,但MediaPlayer继续播放。有没有办法知道这些按钮何时被按下,并在关闭之前停止播放?Android:在主屏幕或后退按钮上停止播放

您应该可以覆盖Activity中的onPause()函数。当您隐藏Activity时,将会调用onPause(),您可以在那里暂停MediaPlayer

例如,

@Override 
protected void onPause() { 
    super.onPause(); // Don't forget this line 
    myMediaPlayer.pause() // Or whatever the function is to pause it 
} 
+0

这会导致系统崩溃。 – 2010-09-12 19:03:56

+0

@Joel你能提供更多的细节,比如堆栈跟踪吗? – MatrixFrog 2010-09-12 20:12:30

+0

我现在不完全确定这是导致崩溃的原因。让我回到你身边... – 2010-09-12 21:25:12

不要忘记添加super.onPause;如果你忘记它会导致FC。

只是实现你的类此方法,其中媒体播放器是哪位......

@Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) 
    { 
     if ((keyCode == KeyEvent.KEYCODE_BACK)) 
     { //Back key pressed 
      //Things to Do 
      if(mediaPlayer!= null) 
      { 
       mediaPlayer.stop(); 
       mediaPlayer=null; 
      } 
      finish(); 
      return true; 
     } 
     return super.onKeyDown(keyCode, event); 
    }