Android webview 播放视频无法播放以及可以播放预览图为加载不出来

xiaoxiao2021-02-28  16

    Android webview 播放视频无法播放以及可以播放预览图为加载不出来的解决方案

1,webView的配置工作:

WebSettings webSettings = shopWebView.getSettings(); webSettings.setBlockNetworkImage(false); webSettings.setLoadWithOverviewMode(true); webSettings.setGeolocationEnabled(true); webSettings.setUseWideViewPort(true); // 关键点 webSettings.setPluginState(WebSettings.PluginState.ON); //支持js脚本 webSettings.setJavaScriptEnabled(true); //支持缩放 webSettings.setSupportZoom(true); //支持内容重新布局 webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); //多窗口 webSettings.supportMultipleWindows(); //当webview调用requestFocus时为webview设置节点 webSettings.setNeedInitialFocus(true); //设置支持缩放 webSettings.setBuiltInZoomControls(true); //支持通过JS打开新窗口 webSettings.setJavaScriptCanOpenWindowsAutomatically(true); //支持自动加载图片 webSettings.setLoadsImagesAutomatically(true); //优先使用缓存: webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); //提高渲染的优先级 webSettings.setRenderPriority(WebSettings.RenderPriority.HIGH); // 开启H5(APPCache)缓存功能 webSettings.setAppCacheEnabled(true); // 开启 DOM storage 功能 webSettings.setDomStorageEnabled(true); // 应用可以有数据库 webSettings.setDatabaseEnabled(true); // 可以读取文件缓存(manifest生效) webSettings.setAllowFileAccess(true); /*允许跨域访问*/ webSettings.setAllowUniversalAccessFromFileURLs(true); shopWebView.canGoBack(); shopWebView.setWebChromeClient(new WebChromeClient());

2,视频播放不出来

需要配置:

android:hardwareAccelerated="true" 启用硬件加速

3,视频预览图片加载不出来:

这是Android5.0 WebView中Http和Https混合问题,在Android5.0 以及以上的系统,当WebView加载的链接为Https开头,但是链接里面的内容,比如图片为Http链接,这时候,图片就会加载不出来。

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){ getSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW); }

在Android5.0以下,默认是采用的MIXED_CONTENT_ALWAYS_ALLOW模式,即总是允许WebView同时加载Https和Http;而从Android5.0开始,默认用MIXED_CONTENT_NEVER_ALLOW模式,即总是不允许WebView同时加载Https和Http。

虽然官网给出的建议是,为了安全考虑,使用MIXED_CONTENT_NEVER_ALLOW模式,但是在实际引用中,当我们的服务器已经升级到Https,但是一些页面的资源是第三方的,我们不能要求第三方也都升级到Https,所以我们只能根据系统版本,用代码去设置加载模式为MIXED_CONTENT_ALWAYS_ALLOW。

 

转载请注明原文地址: https://www.6miu.com/read-2650104.html

最新回复(0)