如何在设备上单击后退按钮时避免媒体播放器崩溃?

时间:2017-12-05 13:37:02

标签: java android

我在Android Studio项目中有一个媒体播放器。在连接的手机上单击后退按钮时,它会崩溃。这是我从Logcat收集的错误:"无法销毁活动{com.example.proj / com.example.proj.RadioActivity}:java.lang.NullPointerException:尝试调用虚拟方法&#39 ; void android.media.MediaPlayer.stop()'在null对象引用"

以下是相关代码段:

@Override
public void onDestroy() {
    super.onDestroy();
    stop();
}

public void onCompletion(MediaPlayer mp) {
    stop();
}

我发现如果我点击" Play"然后是后退按钮,应用程序不会崩溃,表明即使没有正在播放的媒体,播放也不是空对象引用。)

如何编写一个条件,如果单击后退按钮并且MediaPlayer没有播放,请不要破坏播放器/应用程序?我没有参考代码中的按钮。

3 个答案:

答案 0 :(得分:1)

@Override
protected void onDestroy() {
    super.onDestroy();
    if (mediaPlayer != null) {
        mediaPlayer.stop();
    }
}

答案 1 :(得分:0)

在背面按下时使用此代码:

   @Override
    public void onBackPressed() {
    if (videoView.isPlaying()) {
        videoView.pause();
    }
    super.onBackPressed();
}

答案 2 :(得分:-1)

在您的活动中覆盖onBackPressed(),并在其中添加stop()方法。添加以下代码:

@Override 
public void onBackPressed(){ 
   super.onBackPressed();
}