我写了一段代码来播放我网站上的视频。
它可以正常工作但是当我旋转手机时,视频会从头开始重启。
我该如何解决这个问题?
public class ActivityVideoDetail extends Activity {
private VideoDetail videoDetail;
private TextView txtResult;
// -------------------------
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_activity_video_detail);
if (savedInstanceState != null)
{
}
else {
ini();
}
}
// -------------------------
private void ini() {
videoDetail = (VideoDetail) getIntent().getExtras().getSerializable(VideoDetail.VIDEO_DETAIL);
txtResult = (TextView) findViewById(R.id.txtResult);
txtResult.setText(videoDetail.getVideoTitle());
Uri uri = Uri.parse(videoDetail.getVideoPath());
// Uri uri = Uri.parse("http://daily3gp.com/vids/747.3gp");
VideoView videoView = (VideoView) findViewById(R.id.videoPlayer);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(videoView);
mediaController.setMediaPlayer(videoView);
videoView.setMediaController(mediaController);
videoView.setVideoURI(uri);
videoView.start();
}
}
答案 0 :(得分:10)
您只需要转到 AndroidManifest.xml ,在内部或活动标签中,您必须输入这行代码,因为有人说:
android:configChanges="orientation|screenSize"
所以,你会有这样的事情:
<activity android:name="ActivityMenu"
android:configChanges="orientation|screenSize">
</activity>
希望它适合你
通常有三种方法可以做到这一点:
根据建议的一些答案,您可以区分第一次创建活动和从 savedInstanceState恢复活动的情况。这可以通过覆盖 onSaveInstanceState 来完成。并检查 onCreate 的参数。
您可以通过在清单中添加 android:screenOrientation =“portrait”(或“横向”)来锁定活动的一个方向。
您可以通过在标记中指定 android:configChanges =“screenOrientation”来告诉系统您打算自己处理屏幕更改。这样,活动将不会重新创建,但会收到一个而是回调(你可以忽略它,因为它对你没用)。
答案 1 :(得分:0)
添加
<强>机器人:configChanges = “取向|屏幕尺寸| keyboardHidden”强>
在您的清单文件中在
里面 <activity>
代码
答案 2 :(得分:0)
旋转屏幕onCreate方法再次调用。
http://i.stack.imgur.com/z8GHs.png
将此标志添加到您的清单
android:configChanges="orientation"