更改电话查看模式时,活动将重新启动

时间:2011-10-12 12:30:41

标签: android

在播放视频的应用程序中,如果我更改手机的模式,视频将无法继续播放,但会从头开始播放。所有我理解的是当模式改变时重新创建活动,我如何解决这个问题我不知道有人帮我解决这个问题。  提前谢谢

2 个答案:

答案 0 :(得分:7)

您可以将AndroidManifest文件中的此行添加到您的活动代码中,这样您的活动就不会重新启动。

<activity android:name=".Activity_name"
          android:configChanges="orientation|keyboardHidden">

答案 1 :(得分:4)

当您的活动重新开始时,通过此方法保存视频的当前位置:

@Override
public Object onRetainNonConfigurationInstance() {
    int videoPosition = videoView.getCurrentPosition();
    Bundle data = new Bundle();
    data.putInt("POSITION", videoPosition);
    return data;
}

并在onCreate()方法上检索此值,如下所示:

final Bundle data = (Bundle) getLastNonConfigurationInstance();

// The activity is starting for the first time...
if (data == null) {
   // start your video for the first time here..
} else {
    // Resume your video from where it was left..
    int videoPosition = data.getInt("POSITION");
// start your video from videoposition....          
}