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



我尝试在我的应用程序中播放视频,但当视频播放结束时,我的应用程序崩溃了。我用这个方法来呼叫视频播放器。所以我在这个活动中调用了带有intent的图片查看器,它附加了同样的问题。

  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): Process: com.example.nabege, PID: 15952 09-26 15:48:23.862: E/AndroidRuntime(15952): java.lang.RuntimeException: able to resume activity {com.example.nabege/com.example.nabege。Show_subject_Activity}: java.lang.NullPointerException 09-26 15:48:23.862: E/AndroidRuntime(15952): at 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): E/AndroidRuntime(15952):at android.os.Handler.dispatchMessage(Handler.java:102) 09-26 15:48:23.862: E/AndroidRuntime(15952): at android.os. loop .loop(loop .java:157) 09-26 15:48:23.862: E/AndroidRuntime(15952): at android.app.ActivityThread.main(ActivityThread.java:5356) 09-26 15:48:23.862: E/AndroidRuntime(15952): at java.lang. reflection . 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);
        }

:我的活动代码很长。如果需要其他方法添加注释

我像这样改变onpause方法并解决了问题:

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

最新更新