Android Webview 部分图片显示不出来问题

2023-11-18

最近发现在华为Mate 10 上面我们app的内置webview会有部分图片不展示,直接就图裂了。

经过绕了一大圈后才解决了问题,其实问题原因很简单,但是分析过程不顺利。拿出来分享下,希望可以帮助大家少走弯路。

简单说下这个问题的背景

1.我们的新闻图片在除了华为Mate 10 上的android 机都可以正常展示图片。但是到了Mate 10 发现图裂了

2.项目使用的是腾讯X5浏览器内核

3.Mate10上只有一部分图片不能展示,有些是可以的,并且我们的网页放到系统的自带浏览器也能展示

 

解决步骤:

1.先根据X5文档测试下

您的app打开网页http://soft.imtt.qq.com/browser/tes/feedback.html,显示000000表示加载的是系统内核,显示大于零的数字表示加载了x5内核(该数字是x5内核版本号)

 

发现压根就没使用X5内核,使用的是系统内核……

然后尝试解决,但是X5内核就是启动不了。

好吧,那就换个思路,为什么系统的内核不能展示图片呢

2.分析下我们的HTML代码 拿出了图片部分的链接。用我们APP的WebView加载

发现居然是可以直接展示的!这就奇怪了,图片单独访问可以展示,放在H5代码就不行。

3.最后翻了翻API发现

对,就是这里 5.0以上是默认不允许用安全的来源里加载不安全的资源(英语渣,见谅)。

看了下我们的H5代码 还真是,H5的URL是HTTPS,而资源图片的是HTTP。

所以设置下

WebSettings webSetting = webview.getSettings();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
   webSetting.setMixedContentMode(android.webkit.WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}

 

OK,问题解决了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android Webview 部分图片显示不出来问题 的相关文章

  • Flutter:webview_flutter 更新同一 webview 小部件中的 url

    嘿 我正在尝试创建一个屏幕 显示带有底部应用栏的网络视图 因此 您加载网络视图 当点击底部应用栏中的某个项目时 其他网站应该加载到同一个网络视图中 除了我最初解析的网站之外 我不知道如何打开另一个网站 我尝试使用 setState 更新网址
  • webview无法加载的问题

    我对 webview 的体验很差 它无法加载我请求的网页 我无法加载谷歌或任何其他带有网络视图的页面 我已经放入了xml
  • Android 上带有 asynctask 的 Webview

    我想做的是进度对话框等待加载项目webview 我该怎么做dialog dismiss 事件取决于加载项目webview public class asynctask extends AsyncTask
  • 从 Webview 获取源代码(VB for Metro)

    我正在制作一个 Windows Phone 的应用程序 我可以从名为 DebWeb 的网络视图获取特定班级的 ClassRoom DebWeb 加载所有教室所在的网站 但我想让我的应用程序搜索只是我的班级 之前我制作了一个具有几乎相同目标的
  • java.lang.NullPointerException:Android尝试调用虚拟方法错误

    我的 android webview 片段应用程序崩溃了 在我添加了一个按钮从一个片段转到另一个片段后 控制台上的错误是 E AndroidRuntime FATAL EXCEPTION main Process com ahmed sto
  • 如何在WebView中隐藏滚动条?

    我切换到WKWebView因为UIWeb视图Apple 不再建议使用 使用以下代码从 WebView 中的容器加载 HTML 文件 let webview myWKWebViewClass webview for Bundle main f
  • WebView ssl 错误

    对不起我的英语不好 我需要加载 url https 我有一些问题 当我尝试加载页面时 webView 给我错误 primary error 3 certificate Issued to CN my site com Issued by C
  • 分享失败,请重试(仅限whatsapp)

    当我将内容分享到 Whatsapp 时 它返回到分享页面 并显示 Toast 通知 分享失败 请重试 my code if url startsWith share Uri requestUrl Uri parse url String p
  • 生产中偶尔会发生 android.webkit.WebView 类膨胀错误

    我的应用程序在 Google Play 上 它在大多数设备 数千个用户 上运行良好 但在极少数情况下 占每日活跃用户百分比的一小部分 我得到Error inflating class android webkit WebView当我为我的片
  • JavaFX 中 WebView 的性能

    我有一个 HTML5 UI 和一个 Java 后端 并且希望避免在纯 java 中重建 HTML ui 所以我的想法是运行本地 Web 服务器并使用 WebView 在 本机 窗口中呈现它 解决方案似乎是使用可以嵌入到 swing 中的 J
  • 无法从 com.android.aaptcompiler.ParsedResource@ef79973 提取资源

    无法从 com android aaptcompiler ParsedResource ef79973 提取资源 无法从 com android aaptcompiler ParsedResource 4c95ce87 提取资源 C Use
  • 删除Android webview左右边距

    我正在开发一个 webview 应用程序 我的问题是左右两侧有空白 我是初学者 我不知道如何删除它们 请帮忙 注意 请在您的答案中具体说明 例如 将此代码添加到名为布局的 java 框中的全屏内容中 预先非常感谢 这是代码 1 布局 全屏活
  • 在 Safari 中快速打开链接

    我目前正在我的应用程序中打开链接WebView 但我正在寻找一个打开链接的选项Safari反而 它不是 融入 Swift 但你可以使用标准UIKit方法来做到这一点 看看 UIApplication 的openUrl https devel
  • 在 WebViewClient 中重写 shouldInterceptRequest 时系统崩溃

    Goal 覆盖 WebView 发出的所有请求并自己发出请求 最终设置代理 Code Override public WebResourceResponse shouldInterceptRequest WebView view Strin
  • 带有客户端证书的android webview

    我尝试了几天使用嵌入在应用程序中的客户端证书的Web视图 但在我看来 android sdk没有提供任何方法来做到这一点 是否有回调来拦截服务器发送的质询 有没有办法将 webview 与客户端证书一起使用并发出 https 请求 因为我也
  • 未捕获的 ReferenceError: myFunction 未在 null:1 处定义 Web 视图中的 Android 异常

    我正在从活动中调用 javascript 函数 但我得到了Uncaught ReferenceError myFunction is not defined at null 1错误 这是我的文件 MainActivity java pack
  • 如何在新标签 android webview 中打开链接? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我已经使用 webview 创建了一个 android 应用程序来显示我的网站 我什至想添加在新选项卡中打开链接的功能 但我找不到任何
  • Android WebViewClient onReceivedError 未因 404 错误而调用

    hi 在列表视图中 我有一个网络视图 它应该从服务器加载图像文件 当没有图像时 我需要一个虚拟图像 我尝试过 holder image setWebViewClient new WebViewClient Override public v
  • UWP Webview 仅触发最后一个请求的 NavigationCompleted 事件

    我有一个 foreach 循环要调用 webView NavigateToLocalStreamUri url index resolver 多次 据我所知 每次导航到特定 URL 时 事件NavigationStarting and Na
  • 如何从Android webview下载文件?

    我下面的代码可以很好地加载 url 页面 并且在搜索歌曲后 当我单击下载链接时 它崩溃了 关于如何让下载管理器与网络视图一起工作的教程并不多 我究竟做错了什么 import java io File import android app A

随机推荐

  • HTML 框架iframe

    通过使用iframe框架 我们可以在一个浏览器窗口浏览多个页面 iframe语法 该URL指向不同的网页 1 Iframe 设置高度与宽度 height 和 width 属性用来定义iframe标签的高度与宽度 属性默认以像素为单位 但是你
  • 若依框架列表分页功能失效的原因及避坑大法

    问题 在使用若依框架的过程中 列表分页失效 只能显示十条数据 没有分页工具 十条之外的数据只能通过列表的显示行数来控制显示 1 原因 分页工具只能在数据查询出来不做任何处理的情况下使用 因为这个时候列表的总数是固定的 分页的参数可控 以若依
  • 【Python算法Algorithm】专栏导读

    1 什么是算法 Algorithm 算法是一组用于解决特定问题或执行特定任务的有序 精确的计算步骤的集合 它可以被认为是一种计算机程序 但更加抽象和数学化 算法的主要目标是将输入数据转化为所期望的输出结果 而且要在有限的计算步骤内完成 算法
  • 统计各部门的薪水总和_近年来,统计学热过金融火过计算机,这是真的吗?

    初识统计学是2005年 当时统计学专业还是个小冷门 在金融学 会计学 财政学等大热专业的身后默默做背景板 统计学有多难考 不过十几年 统计学已经火到了风口浪尖 2019年 各校统计学考研分数线大涨 堪称神仙打架 中山大学应用统计学招生26人
  • 后端技术学习整理

    文章目录 一 数据结构 1 非阻塞队列 阻塞队列 2 集合 set 3 链表 数组 List 3 1 ArrayList LinkedList Vector 4 字典 关联数组 Map 5 栈 Stack 6 树 6 1 二叉树 完全二叉树
  • ImportError: DLL load failed while importing cymj: 找不到指定的模块解决办法

    报错如下 解决办法 我的python版本是3 9 版本太高导致的 需要在import mujoco py代码前加上三行代码 如下所示 import os os add dll directory C Users luckyli mujoco
  • 1. 模型的代码生成 - 代码生成方法

    文章目录 1 模型的代码生成 代码生成方法 1 1 模型的解算器solver设置 1 2 生成的系统目标文件设置 1 3 其它生成代码的设置 1 3 1 硬件平台设置 1 3 2 Optimization页面的设置 1 3 3 Report
  • js如何获取当前时间、前几个月或后几个月时间

    获取当前的时间 格式为 YYYY MM DD function getNowTime var year nowDate getFullYear var month nowDate getMonth 1 lt 10 0 nowDate get
  • 安装scikit-learn的详细过程

    1 打开命令终端 检查Python和pip的版本 scikit learn支持的Python版本是3 6及以上 pip版本最低为9 0 1 2 升级pip版本 可选 使用命令 pip install user upgrade pip 升级p
  • MySQL substr函数使用详解

    作者主页 士别三日wyx 作者简介 CSDN top100 阿里云博客专家 华为云享专家 网络安全领域优质创作者 专栏简介 此文章已录入专栏 MySQL数据库快速入门 substr函数 一 作用 二 语法 三 使用 1 截取字符串 2 截取
  • (数据科学学习手札52)pandas中的ExcelWriter和ExcelFile

    一 简介 pandas中的ExcelFile 和ExcelWriter 是pandas中对excel表格文件进行读写相关操作非常方便快捷的类 尤其是在对含有多个sheet的excel文件进行操控时非常方便 本文就将针对这两个类的使用方法展开
  • TP框架修改后台路径方法

    直接映射 admin 后台修改路径为 myadmin888 文章来源 外星人来地球 欢迎关注 有问题一起学习欢迎留言 评论 转载于 https www cnblogs com lovebing p 11579639 html
  • 青蛙过河 蓝桥杯 2097

    问题描述 小青蛙住在一条河边 它想到河对岸的学校去学习 小青蛙打算经过河里 的石头跳到对岸 河里的石头排成了一条直线 小青蛙每次跳跃必须落在一块石头或者岸上 不过 每块石头有一个高度 每次小青蛙从一块石头起跳 这块石头的高度就 会下降 1
  • 自动驾驶:轨迹预测综述

    自动驾驶 轨迹预测综述 轨迹预测的定义 轨迹预测的分类 基于物理的方法 Physics based 基于机器学习的方法 Classic Machine Learning based 基于深度学习的方法 Deep Learning based
  • Java全栈面试题(三)--Redis

    对Redis的理解 Redis是一款开源的高性能键值对存储系统 支持多种数据类型 如字符串 哈希 列表 集合 有序集合等 主要用于缓存 消息队列 排行榜 计数器等场景 能够提供快速读写 高并发 持久化等功能 Redis是单线程的 通过采用多
  • java -jar后台启动的四种方式

    Linux系统启动java项目四种方法 1 用java jar xxx jar 点击回车就会启动成功 但是当退出或者关闭远程工具就会把进程关闭 以上就是启动的项目Java jar xxx jar 但是点击过Ctl c或者把此窗口关闭 就会杀
  • 【Linux】shell命令与文件权限

    目录 前言 shell命令以及运行原理 Linux权限的概念 1 文件访问者的分类 人 2 文件类型和访问权限 事物属性 3 文件权限值的表示方法 4 文件访问权限的相关设置方法 4 1 chmod指令 4 2 chown指令 4 3 ch
  • 计算机应届博士生的一点求职经验——华为篇

    一点也许有用的求职经验与感悟 前言 机考 技术面试 主管面试 HR面试 性格测试 思考与选择 前言 华为的应届生申请可以填写2个志愿 一共有五道考核 机考 必做 2轮技术面试 部门主管面试 HR 面试和性格测试 本文会对这几个方面分别展开
  • 解决neo4j导入数据时报错:neo4j already contains data, cannot do import here报错

    完整报错如下 java lang IllegalStateException neo4j already contains data cannot do import here at org neo4j internal batchimpo
  • Android Webview 部分图片显示不出来问题

    最近发现在华为Mate 10 上面我们app的内置webview会有部分图片不展示 直接就图裂了 经过绕了一大圈后才解决了问题 其实问题原因很简单 但是分析过程不顺利 拿出来分享下 希望可以帮助大家少走弯路 简单说下这个问题的背景 1 我们