我有一个android应用程序和webview的屏幕,其中包含一个html格式的视频,如下所示:
String content = "...<script data-cfasync="false" defer type="text/javascript" src="https://..."></script>..."
并为WebView设置此代码:
webView.loadDataWithBaseURL("", content, "text/html", "UTF-8", "");
在第一次会话中,当我尝试在WebView中观看视频时-一切正常。但如果我重启我的应用程序(在第二次或下一次会话中),我只能看到视频屏幕,但它不能播放,我也不能在视频上使用按钮播放。为什么?
我尝试禁用或启用webview的缓存,尝试禁用或启用dom存储-没有任何帮助。此外,这个问题并不是在所有设备上都会发生,而是在不同的android版本上(例如,在Android 6,Android 8上,但在一些使用此版本的设备上,一切正常)。此外,如果在有问题的设备上清除设置中的应用程序数据(清除所有数据,而不是清除缓存),视频将再次工作。
发布于 2019-04-08 08:20:03
这对我很有帮助:
webView.getSettings().setMediaPlaybackRequiresUserGesture(false);
发布于 2019-04-04 04:43:11
我认为这个问题发生在chrome 73版本上。因此,我有一个临时修复它的技巧,为WebView设置以下代码:
String tempUserAgent = webView
.getSettings()
.getUserAgentString()
.substring(0, webView.getSettings()
.getUserAgentString()
.indexOf("AppleWebKit"));
webView.getSettings()
.setUserAgentString(tempUserAgent + "AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/72.0.3626.121 Safari/537.36");
发布于 2019-04-29 02:48:42
这可能与Chrome73.0.3683.90版本中的a bug有关。更新到chrome的V74应该可以解决这个问题。
https://stackoverflow.com/questions/55360339
复制相似问题