结束视频播放后无法恢复活动错误?

时间:2015-09-27 03:11:52

标签: android android-intent android-videoview

我尝试在我的应用中播放视频但是当视频播放结束时我的应用程序崩溃了。我将此方法用于呼叫视频播放器。所以我打算在这个追加同样问题的活动中打电话给图片查看器。

  private void play_video() {
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
File file = new File(Environment.getExternalStorageDirectory().getPath() + "/nabege" + File.separator + "video"
        + File.separator + videoFileName);
intent.setDataAndType(Uri.fromFile(file), "video/*");
startActivity(intent);}
  

09-26 15:48:23.862:E / AndroidRuntime(15952):FATAL EXCEPTION:main 09-26 15:48:23.862:E / AndroidRuntime(15952):进程:com.example.nabege,PID:15952 09-26 15:48:23.862:E / AndroidRuntime(15952):java.lang.RuntimeException:无法恢复活动{com.example.nabege / com.example.nabege.Show_subject_Activity}:java.lang.NullPointerException 09-26 15:48:23.862:E / AndroidRuntime(15952):在android.app.ActivityThread.performResumeActivity(ActivityThread.java:2946)09-26 15:48:23.862:E / AndroidRuntime(15952):at android.app.ActivityThread .handleResumeActivity(ActivityThread.java:2975)09-26 15:48:23.862:E / AndroidRuntime(15952):at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1307)09-26 15:48:23.862 :E / AndroidRuntime(15952):在android.os.Handler.dispatchMessage(Handler.java:102)09-26 15:48:23.862:E / AndroidRuntime(15952):在android.os.Looper.loop(Looper。 java:157)09-26 15:48:23.862:E / AndroidRuntime(15952):在android.app.ActivityThread.main(ActivityThread.java:5 356)09-26 15:48:23.862:E / AndroidRuntime(15952):at java.lang.reflect.Method.invokeNative(Native Method)09-26 15:48:23.862:E / AndroidRuntime(15952):at java .lang.reflect.Method.invoke(Method.java:515)09-26 15:48:23.862:E / AndroidRuntime(15952):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java: 1265)09-26 15:48:23.862:E / AndroidRuntime(15952):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)

onpause()方法:

@Override
protected void onPause() {
    super.onPause();
    mPlayer.release();
    mPlayer = null;
    stop_background_sound();
}

onresume方法:

@Override
public void onResume() {
            super.onResume();
    // Set the audio data source
    set_data_source_mpalyer();
    mController.setMediaPlayer(this);
    mController.setEnabled(true);
        }

:我的活动代码很长。如果需要另外的方法添加评论

1 个答案:

答案 0 :(得分:0)

我更改了这样的暂停方法并解决了问题:

if (mPlayer.isPlaying()) {
        mPlayer.release();
        mPlayer = null;
    }