随笔——可能会遇到的问题,记录一下

知识储备:

从Android5.0以后,当一个安全的站点(https)去加载一个非安全的站点(http)时,需要配置Webview加载内容的混合模式,一共有如下三种模式:

1. MIXED_CONTENT_NEVER_ALLOW:Webview不允许一个安全的站点(https)去加载非安全的站点内容(http),比如,https网页内容的图片是http链接。强烈建议App使用这种模式,因为这样更安全。

2. MIXED_CONTENT_ALWAYS_ALLOW:在这种模式下,WebView是可以在一个安全的站点(Https)里加载非安全的站点内容(Http),这是WebView最不安全的操作模式,尽可能地不要使用这种模式。

3. MIXED_CONTENT_COMPATIBILITY_MODE:在这种模式下,当涉及到混合式内容时,WebView会尝试去兼容最新Web浏览器的风格。一些不安全的内容(Http)能被加载到一个安全的站点上(Https),而其他类型的内容将会被阻塞。这些内容的类型是被允许加载还是被阻塞可能会随着版本的不同而改变,并没有明确的定义。这种模式主要用于在App里面不能控制内容的渲染,但是又希望在一个安全的环境下运行。

分析:

在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。

知识储备:

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){

WebView.getSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);

}

android webview 5.0httt,Android5.0开始,WebView默认情况下,不支持同时加载Https和Http混合模式...相关推荐

  1. android5.0以上webview无法播放腾讯优酷等网络视频

    最近一直在做浏览器项目,遇到某些手机在线无法播放腾讯视频,搞得我很郁闷,网上查了很多资料,大部分都说开了硬件加速就可以了,可是硬件加速早开了,也没用.继续找啊找啊,又看到说是http和https重定向 ...

  2. Android4.0图库Gallery2代码分析(二) 数据管理和数据加载

    Android4.0图库Gallery2代码分析(二) 数据管理和数据加载 2012-09-07 11:19 8152人阅读 评论(12) 收藏 举报 代码分析android相册优化工作 Androi ...

  3. Android WebView 加载https网页白屏,空白解决方案

    最近在做一个H5相关的需求,使用WebView加载第三方提供的https网页时显示白屏.但是调试打开Baidu和B站的https网址时就能正常打开.被这个问题困扰了半天. 合作方说是android手机 ...

  4. android studio 无法输入中文,Android Studio 升级到3.0后输入法中文状态下无法选词的终极解决方案...

    AndroidStudio终于出3.0正式版了,内置了kotlin(虽然我安了插件一直能用).一直忍着没敢下rc版的好奇猫,总算装了正式版.当然,伴随每次大版本更新,总有一些恼人的后遗症,其中以gra ...

  5. 成功解决Glide3.7.0加载https图片,显示占位图问题。

    平时我们使用Glide加载http网址的图片的时候,图片可以正常加载出来,但是如果服务器端加上了安全认证,当加载自签名的https图片的时候就会报如下错误(证书路径验证异常). Trust ancho ...

  6. Android 框架学习5:微信热修复框架 Tinker 从使用到 patch 加载、生成、合成原理分析

    这篇文章是基于内部分享的逐字稿内容整理的,现在比较喜欢写逐字稿,方便整理成文章. 文章目录 目录 Tinker 介绍 使用 TinkerApplicaition ``SampleApplicaitio ...

  7. android自动化测试弹框,干货 | App 自动化测试痛点(弹框及首页启动加载完成判断处理)...

    原标题:干货 | App 自动化测试痛点(弹框及首页启动加载完成判断处理) 1. 常见痛点 App 自动化测试中有些常见痛点问题,如果框架不能很好的处理,就可能出现元素定位超时找不到的情况,自动化也就 ...

  8. 【Android 插件化】“ 插桩式 “ 插件化框架 ( 类加载器创建 | 资源加载 )

    Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...

  9. android弹出选择usb,android 解决:默认情况下用于该USB设备 自动获取USB操作权限...

    很多android 的应用在使用USB设备时,总会遇到一个很烦人的问题. 即每次都会弹出对话框: 每次插入USB设备,都会弹出.每次选上默认情况下使用该USB设备.但总还是会弹出.用户体验很差. 似乎 ...

最新文章

  1. 【s操作】轻松优雅的保存微信群图片和朋友圈图片
  2. CentOS 6.4 i386 版本安装 FastDFS、使用Nginx作为文件访问WEB服务器
  3. 在 windows 命令行下快速检测与排除网络故障
  4. Xposed学习一:初探
  5. Oracle之事务和锁
  6. 计组—缓存Cache
  7. asp.net core 中使用 signalR(二)
  8. docker删除所有镜像和容器
  9. python获取绝对路径_python - OS(一)获取绝对路径
  10. [转载]常用正则表达式收集勘误
  11. python中goto如何使用,基于python goto的正确用法说明
  12. 关于JavaScript中return的使用情况
  13. 线程、协程、Goroutine的区别和联系
  14. 在mtk6223的软t卡上实现对sdhc卡的读写
  15. 何恺明的ResNet引用量突破10万!
  16. 网站吊唁效果(黑白)
  17. 同步以太网-SyncE介绍
  18. 关于谷歌浏览器页面出现光标闪动,鼠标的焦点没有消失解决
  19. django请求生命周期,FBV和CBV,ORM拾遗,Git
  20. 业务巡检系统的整体设计和数据流程

热门文章

  1. 源码给你,零基础搭建一个免费的网址导航站
  2. 2021.12.04【宏基因组】|宏基因组流程搭建进展梳理
  3. 2023年AP各科目考试时间
  4. (转)真刀真枪压测:基于TCPCopy的仿真压测方案
  5. react 高阶组件
  6. 2021牛客暑期多校训练营2 F Girlfriend (阿波罗尼斯圆+简单几何)
  7. android系统流畅度排行,这个手机操作系统流畅度排行,你认可吗?
  8. C语言练习——回文素数
  9. 采用注解实现策略模式
  10. iOS、Android 不能错过的 8 个新 App