横屏竖屏切换时会重启activity,当然会从头播放了。
最简单的方法是禁止竖屏好了,看视频一般也是横屏看的。
AndroidManifest.xml里加上
android:screenOrientation="landscape" 或者覆写onSaveInstanceState(Bundle)与onRestoreInstanceState(Bundle)方法,应用创建时的super.onCreate(savedInstanceState),就是说这两个方法,横竖屏切换时首先调用onSaveInstanceState,此时可以写入视频进度的信息,activity恢复时onCreate调用onRestoreInstanceState,此时将视频进度信息加入你的播放即可。
最简单的方法是禁止竖屏好了,看视频一般也是横屏看的。
AndroidManifest.xml里加上
android:screenOrientation="landscape" 或者覆写onSaveInstanceState(Bundle)与onRestoreInstanceState(Bundle)方法,应用创建时的super.onCreate(savedInstanceState),就是说这两个方法,横竖屏切换时首先调用onSaveInstanceState,此时可以写入视频进度的信息,activity恢复时onCreate调用onRestoreInstanceState,此时将视频进度信息加入你的播放即可。
覆写onSaveInstanceState(Bundle)与onRestoreInstanceState(Bundle)方法,应用创建时的super.onCreate(savedInstanceState),就是说这两个方法,横竖屏切换时首先调用onSaveInstanceState,此时可以写入视频进度的信息,activity恢复时onCreate调用onRestoreInstanceState,此时将视频进度信息加入你的播放即可。
能不能教教我怎么复写啊 具体代码啊
@Override
protected void onRestoreInstanceState(Bundle outState) {
int sec = outState.getLong("time");
video.seekto(sec);
super.onRestoreInstanceState(outState);
}@Override
protected void onSaveInstanceState(Bundle outState) {
int sec = video.getCurrentPosition();
outState.putLong("time", sec);
super.onSaveInstanceState(outState);
}
或者直接用全局变量保存时间也行。