恢复时,Android活动崩溃

黑色的

我的应用程序有一个打开网页的按钮,但是返回到崩溃时,我正在使用onPause()和onRestart()方法。有人知道关闭网页后恢复到应用程序时为什么会崩溃吗?

private void goToUrl(String url) {
    Uri uriUrl = Uri.parse(url);

    Intent launchBrowser = new Intent(Intent.ACTION_VIEW, uriUrl);

    startActivity(launchBrowser);
}

@Override
protected void onPause() {
    super.onPause();

    titleMusic.release();
}

@Override
protected void onRestart() {
    super.onRestart();

    titleMusic.start();
}

logCat堆栈跟踪

FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to resume activity java.lang.IllegalStateException
04-23 15:49:09.886: E/AndroidRuntime(18310):    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2836)
04-23 15:49:09.886: E/AndroidRuntime(18310):    at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2865)
04-23 15:49:09.886: E/AndroidRuntime(18310):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1288)
04-23 15:49:09.886: E/AndroidRuntime(18310):    at android.os.Handler.dispatchMessage(Handler.java:102)
04-23 15:49:09.886: E/AndroidRuntime(18310):    at android.os.Looper.loop(Looper.java:212)
04-23 15:49:09.886: E/AndroidRuntime(18310):    at android.app.ActivityThread.main(ActivityThread.java:5135)
04-23 15:49:09.886: E/AndroidRuntime(18310):    at java.lang.reflect.Method.invokeNative(Native Method)
04-23 15:49:09.886: E/AndroidRuntime(18310):    at java.lang.reflect.Method.invoke(Method.java:515)
04-23 15:49:09.886: E/AndroidRuntime(18310):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:877)
04-23 15:49:09.886: E/AndroidRuntime(18310):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)
04-23 15:49:09.886: E/AndroidRuntime(18310):    at dalvik.system.NativeStart.main(Native Method)
04-23 15:49:09.886: E/AndroidRuntime(18310): Caused by: java.lang.IllegalStateException
04-23 15:49:09.886: E/AndroidRuntime(18310):    at android.media.MediaPlayer._start(Native Method)
04-23 15:49:09.886: E/AndroidRuntime(18310):    at android.media.MediaPlayer.start(MediaPlayer.java:1097)
04-23 15:49:09.886: E/AndroidRuntime(18310):    at com.example.hunglikeanandroid.TitleScreen.onRestart(TitleScreen.java:364)
04-23 15:49:09.886: E/AndroidRuntime(18310):    at android.app.Instrumentation.callActivityOnRestart(Instrumentation.java:1181)
04-23 15:49:09.886: E/AndroidRuntime(18310):    at android.app.Activity.performRestart(Activity.java:5291)
04-23 15:49:09.886: E/AndroidRuntime(18310):    at android.app.Activity.performResume(Activity.java:5302)
04-23 15:49:09.886: E/AndroidRuntime(18310):    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2826)
Melquiades
04-23 15:49:09.886: E/AndroidRuntime(18310): Caused by: java.lang.IllegalStateException 
04-23 15:49:09.886: E/AndroidRuntime(18310): at android.media.MediaPlayer._start(Native Method)

此异常表明您的媒体播放器处于“错误”状态。作为状态机,必须正确初始化它,并确保在外出/返回活动时正确处理它的状态。

例如,在onPause()中,您将释放MediaPlayer资源,因此当您返回时,它不会再次初始化。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章