![](/img/trans.png)
[英]How do I use onResume and onPause method when I am pressed back button
[英]Not logic crash of ringtone app when I add onpause method on back button
我有使用媒體播放器播放聲音的應用程序。 我按下“后退”按鈕時用來停止聲音的代碼是:
@Override
public void onBackPressed() {
super.onBackPressed();
if (mp != null) {
mp.reset();
mp.release();
}
finish();
}
該代碼運行良好,但是如果應用突然中斷,並且聲音仍在播放,則需要停止,因此我在onPause方法中添加了相同的內容(如果添加onStop方法,則是相同情況)。
@Override
protected void onPause() {
super.onPause();
if (mp != null) {
mp.reset();
mp.release();
}
}
現在,當我按回去時,應用程序崩潰而不是回退(在我添加onPause方法之前可以運行)onPause正常運行,因為如果按Home按鈕,聲音會停止,我在logcat中得到以下錯誤:
java.lang.RuntimeException: Unable to pause activity
java.lang.IllegalStateException
...
您無法重置已發布的MediaPlayer。 因為釋放資源后,用於播放聲音的資源不可用。 您應該更改:
mp.reset();
mp.release();
至:
mp.release();
mp = null;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.