簡體   English   中英

在設備上單擊后退按鈕時,如何避免媒體播放器崩潰?

[英]How do I avoid a media player crash when the back button is clicked on the device?

我在Android Studio項目中有一個媒體播放器。 在所連接的電話上單擊后退按鈕時,它會崩潰。 這是我從Logcat收集的錯誤信息:“無法破壞活動{com.example.proj / com.example.proj.RadioActivity}:java.lang.NullPointerException:嘗試調用虛擬方法'void android.media。 MediaPlayer.stop()'在空對象引用上”

以下是相關代碼段:

@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();
    }
}

在背面按此代碼:

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

覆蓋活動中的onBackPressed()並在其中添加stop()方法。 添加以下代碼:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM