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。

 

更多相关文章

  1. 《Android开发技术周报》笔记
  2. Android(安卓)第三方组件Volley加载网络
  3. Android(安卓)通过软引用实现图片缓存,防止内存溢出
  4. Android加载网络图片并保存到系统相册
  5. Android(安卓)N新特性
  6. 三行Android代码实现白天夜间模式流畅切换
  7. Android绘图之Shader
  8. Android(安卓)设计中常用的设计模式
  9. 使用ContentProvider管理照片

随机推荐

  1. Android简易实战教程--第四十六话《Recyc
  2. Android(安卓)颜色渐变(gradient)的实现总
  3. [置顶] Android6.0权限系统
  4. 支持Android(安卓)的几款开源3D引擎调研
  5. 雷牛满面:Baidu 推出自己的移动操作系统
  6. 使用Valgrind找出Android中Native程序内
  7. Android教程-03 常见布局的总结
  8. Android之——任意时刻从子线程切换到主
  9. React Native带你从源码解决启动白屏(Andr
  10. Android开发之实现GridView支付宝九宫格