我的 Android Studio 项目中有一个媒体播放器。在连接的手机上单击后退按钮时,它会崩溃。这是我从 Logcat 中收集到的错误:“无法销毁 Activity {com.example.proj/com.example.proj.RadioActivity}:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法 'void android.media.MediaPlayer.stop()'”
这是相关的 fragment :
@Override
public void onDestroy() {
super.onDestroy();
stop();
}
public void onCompletion(MediaPlayer mp) {
stop();
}
我发现,如果我单击“播放”,然后单击后退按钮,应用程序不会崩溃,这表明即使没有媒体正在播放,播放也不是空对象引用。
如何编写一个条件,如果单击后退按钮并且 MediaPlayer 未播放,则不销毁播放器/应用程序?我没有引用代码中的按钮。
最佳答案
@Override
protected void onDestroy() {
super.onDestroy();
if (mediaPlayer != null) {
mediaPlayer.stop();
}
}
关于java - 单击设备上的后退按钮时如何避免媒体播放器崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47654968/