结束视频播放后无法恢复 activity 错误?
Unable to resume activity error after end video playback?
我尝试有意地在我的应用程序中播放视频但是当视频播放结束时我的应用程序崩溃了。我使用这种方法来调用视频播放器。所以我在这个附加相同问题的 activity 中有意调用图片查看器。
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: Unable 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): at android.os.Handler.dispatchMessage(Handler.java:102) 09-26 15:48:23.862: E/AndroidRuntime(15952): at android.os.Looper.loop(Looper.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.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);
}
:我的activity代码很长。如果需要其他方法请添加评论
我这样改 onpause 方法解决了问题:
if (mPlayer.isPlaying()) {
mPlayer.release();
mPlayer = null;
}
我尝试有意地在我的应用程序中播放视频但是当视频播放结束时我的应用程序崩溃了。我使用这种方法来调用视频播放器。所以我在这个附加相同问题的 activity 中有意调用图片查看器。
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: Unable 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): at android.os.Handler.dispatchMessage(Handler.java:102) 09-26 15:48:23.862: E/AndroidRuntime(15952): at android.os.Looper.loop(Looper.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.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);
}
:我的activity代码很长。如果需要其他方法请添加评论
我这样改 onpause 方法解决了问题:
if (mPlayer.isPlaying()) {
mPlayer.release();
mPlayer = null;
}