Android活动未在后退按钮上结束按

时间:2014-02-10 09:49:12

标签: java android android-activity

我已将以下代码添加到我拥有的类中:

@Override
public void onBackPressed() {
    // TODO Auto-generated method stub
    super.onBackPressed();
    /*
    AlertDialog.Builder dialog = new AlertDialog.Builder(this);
    dialog.setTitle("test");
    dialog.setMessage("test 123");
    dialog.setNeutralButton("OK", null);
    dialog.create().show();
    */    
    finish();
}

我知道正在调用该方法,因为当我按下后退按钮时会显示警告对话框。然而,当我按下后,MediaPlayer继续播放,这将我带到上一个屏幕。

这是为什么?不应该完成()停止MediaPlayer?

4 个答案:

答案 0 :(得分:1)

检查MediaPlayer事件中onBackPressed()是否正在播放。

试试如下:

   @Override
 public void onBackPressed() {
    if( mediaPlayer.isPlaying() ) {
      mediaPlayer.stop();
    }
    super.onBackPressed();
 }

答案 1 :(得分:0)

finish();

完成你的活动,

您应该stop()活动onPause()方法中的onDestroy()媒体播放器(并在{{1}}中发布)

答案 2 :(得分:0)

确定发生了这种情况,因为MediaPlayer后台服务中播放音乐,因此要停止播放音乐,您必须添加以下内容:

@Override
public void onBackPressed() {
    // TODO Auto-generated method stub
    super.onBackPressed();
    if(mediaplayer.isPlaying())
          mediaplayer.stop();
    finish();
}

其中mediaplayerMediaPlayer类的实例。

答案 3 :(得分:0)

试试这个:

public void onDestroy()
{
    super.onDestroy();
    activities.remove(this);
}

public static void finishAll()
{
    for(Activity activity:activities)
       activity.finish();
}

或者尝试在onPause()方法中添加finish方法,这可能会起作用...

希望这会有所帮助