如何在android webview中恢复视频播放状态

时间:2012-09-06 06:34:04

标签: android android-webview android-configchanges

在我的活动中,我将你的视频内容加载到我的网页视图中:

webview.loadData("<iframe class=\"youtube-player\" " +
"type=\"text/html\" "+" src=\"http://www.youtube.com/embed/bIPcobKMB94\" frameborder=\"0\">", "text/html", "UTF-8");

正在加载管视频。点击播放按钮后,即可播放视频。这一切都很好。

旋转屏幕时如何在网络视图中恢复视频状态意味着视频在旋转前播放30秒。我必须在旋转后31秒开始。施加

webview.saveState(bundle);
webview.restoreState(bundle); 
onSave和onRestore生命周期方法中的

对我不起作用。

3 个答案:

答案 0 :(得分:0)

您想要从之前的位置恢复视频。 假设您调用了onPause()方法。 覆盖onpause方法并在变量中加载int a = video.currentlocation()的值 然后覆盖onresume方法,vide.seekto(a)。 video.start();

答案 1 :(得分:0)

到目前为止,我找到的最佳解决方案是 - 在框架布局中放置Web视图并自行处理方向更改。在配置更改时,从“帧布局”中删除Web视图,并在将Web视图添加到“帧布局”后重置主视图。 link for working sample

答案 2 :(得分:0)

您可以通过编程方式创建WebView,而不是将其定义到Layout文件中。

而不是在您的布局中使用ID创建一种ViewGroup,并且在活动中创建WebView之后,只需将其添加到此ViewGroup中。

通过

onSaveInstanceState(Bundle outState)方法中保存WebView实例

webView.saveState(outState);

并通过

onCreate(Bundle savedInstanceState)方法中恢复它

webView.restoreState(savedInstanceState);

仅当savedInstanceState不为空时才恢复状态;否则配置您的webView。如果webView的状态正在恢复,则无需再次配置它。

非常感谢https://twigstechtips.blogspot.ru/2013/08/android-retain-instance-of-webview.html