我在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没有播放,请不要破坏播放器/应用程序?我没有参考代码中的按钮。
答案 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();
}