Android项目在 app 中通过 WebView 访问 url显示空白,使用浏览器可以打开,Android WebView加载出现空白页面问题解决

这篇具有很好参考价值的文章主要介绍了Android项目在 app 中通过 WebView 访问 url显示空白,使用浏览器可以打开,Android WebView加载出现空白页面问题解决。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这是服务器证书校验WebView的安全问题

  • 服务器证书校验主要针对 WebView 的安全问题。
  • 在 app 中需要通过 WebView 访问 url,因为服务器采用的自签名证书,而不是 ca 认证,使用 WebView 加载 url 的时候会显示为空白,出现无法加载网页的情况。
  • 使用 ca 认证的证书,在 WebView 则可以直接显示出来,不需要特殊处理。
  • 以往针对自签名证书的解决方案是继承 WebViewClient 重写 onReceivedSslError 方法,然后直接使用 handler.proceed(),该方案其实是忽略了证书,存在安全隐患。
  • 安全的方案是当出现了证书问题的时候,读取 asserts 中保存的的根证书,然后与服务器校验,假如通过了,继续执行 handler.proceed(),否则执行 handler.cancel()。
简单的解决方案(不安全)
wv.setWebViewClient(new WebViewClient(){
 
@override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error){
 
//handler.cancel(); 默认的处理方式,WebView变成空白页
  handler.proceed();接受证书
 
//handleMessage(Message msg); 其他处理
}
 
// 这行代码一定加上否则效果不会出现  
 webView.getSettings().setJavaScriptEnabled(true);  

今天就写到这里啦~
  • 小伙伴们,( ̄ω ̄( ̄ω ̄〃 ( ̄ω ̄〃)ゝ我们明天再见啦~~
  • 大家要天天开心哦

欢迎大家指出文章需要改正之处~
学无止境,合作共赢

android webview空白,移动端开发,android文章来源地址https://www.toymoban.com/news/detail-759401.html

欢迎路过的小哥哥小姐姐们提出更好的意见哇~~

到了这里,关于Android项目在 app 中通过 WebView 访问 url显示空白,使用浏览器可以打开,Android WebView加载出现空白页面问题解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • android webview 显示灰度网页

    要在WebView中显示网页灰度显示,您可以通过以下步骤操作: 使用的原理两种方式,一种使用画笔,一种是js css注入。都能够实现黑白色灰度网页。 在您的布局文件中添加WebView组件: 在您的Activity或Fragment中,初始化WebView并启用硬件加速: 创建applyGrayscaleFilter()方法,该方法

    2024年02月13日
    浏览(37)
  • uniapp手机APP webview使用echarts显示问题(腾讯X5内核)

    一、问题描述 webview页面中引用了一些基于echarts封装的js文件,用于在手机上展示仪表盘 在iQOO8 pro上显示并无问题,而在vivo x21A上显示有问题,如下图所示 vivo x21A iQOO8 pro 二、解决过程 先说结论,出现这个问题是因为echarts和手机浏览器内核不兼容,webview组件默认使用的是手

    2024年02月09日
    浏览(56)
  • vue项目打包后显示空白解决方案?

    目录 前言 一、页面空白? 二、图片加载不出来? 总结 vue打包后会出现空白页面,这说明配置的时候路径有问题,接下来一起看看如何解决把。 页面空白说明打包路径有问题,打开config/index.js,找到build下的assetsPublicPath,修改为\\\'./\\\',如下: 这里说一下,dev环境下 assetsPu

    2024年02月16日
    浏览(46)
  • Android Studio 加载一个 WebView 来访问网页

    为了实现在 Android Studio 加载一个 WebView 来访问网页,您可以按照以下步骤进行操作: 在布局文件中添加 WebView。在 res/layout 目录下创建一个新的 layout xml 文件(例如 webview_layout.xml)。在该文件中添加一个 WebView: 在 Java 代码中添加 WebView 的逻辑。在 Activity 类中创建 WebView 对

    2024年02月02日
    浏览(45)
  • vue项目ios(苹果)系统打开显示空白页问题

      报错信息: 翻译:语法错误:无效的正则表达式:无效的组说明符名称。 注:我这里是正则验证报错(网上还有其他报错显示空白页的问题,以后遇到会及时和大家更新)。 原因( 本篇原因正则问题 ): 项目中如果有使用到正则表达式,在Safari浏览器会在某个正则规则下无法解

    2024年02月05日
    浏览(43)
  • electron项目打包之后显示空白页面以及发送http请求地址错误

            electron项目在开发阶段,因为使用webpack脚手架,启用了webServer提供的http服务,所以有路由功能,当我们运行npm run electron:serve的时候,最后可以直接加载http://localhost:8080。在app里面就可以显示页面。     当electron项目打包之后,成为桌面程序,这个时候就没有http服务支

    2024年02月13日
    浏览(36)
  • HBuilderX的uniapp项目APP之Webview调试(像开发网页一样开发APP)

    注意:仅限vue页面 打开HBuilderX - 视图 - 显示Webview调试控制台(勾选) Webview调试 - 真机运行自动打开Webview调试(勾选) 运行 - 运行到手机或模拟器 - 运行到Android APP基座或其他 选择基座(若无自定义则选择标准基座) - 运行 手机APP跳转到测试页面(比如 下图页面为 pages/

    2024年03月14日
    浏览(43)
  • Android WebView加载失败,显示net::ERR_CLEARTEXT_NOT_PERMITTED

    在Android应用程序中使用WebView加载网页时,有时可能会遇到net::ERR_CLEARTEXT_NOT_PERMITTED错误。该错误提示明文传输不允许,通常发生在应用程序尝试加载不安全(未加密)的HTTP链接时。本文将介绍如何解决这个问题,并提供相关的源代码示例。 Android 9(API级别28)及更高版本默

    2024年01月17日
    浏览(63)
  • 我的第一个flutter项目(Android & Webview)

    前言:flutter开发环境搭建Flutter的开发环境搭建-图解_☆七年的博客-CSDN博客 第一个flutter简单项目,内容是一个主界面,其中:     1.内容点击数字自增     2.跳转一个空页,     3.跳转一个WebView界面 其中涉及添加主键,新建界面类,导入依赖,使用WebView, 兼容http网络安全

    2024年02月15日
    浏览(73)
  • Android WebView H5视频播放实现全屏播放功能、全屏按钮不显示、灰显、点击无效问题解决方案

    打开硬件加速(3.0以上版本支持) set一个WebChromClient,实现onShowCustomView() 方法和onHideCustomView()方法 全屏支持 打开硬件加速 在Manifest中,对应的Activity添加: android:hardwareAccelerated = “true”。 防止h5重新加载:Manifest中,对应的Activity添加: android:configChanges=“keyboardHidden|orientation|s

    2024年02月09日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包