Android 7.0 WebView加载https出现空白页

本文介绍了在Android 7.0上使用WebView加载HTTPS页面时遇到的问题及解决方案。主要问题为加载页面出现空白,经排查确认为SSL证书验证错误。文章提供了一种处理证书验证的方法,并提醒检查WiFi设置以避免抓包工具引起的证书安装问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目中有一些简单的功能,如帮助什么的都是使用WebView实现的,但在Android 7.0上就出现问题了,有一些网页的url是https的,导致打开显示一片空白。当时我很蒙蔽,我用自己的手机测试,发现没有问题,网页正常打开,本人手机Android 6.0,我就猜测大概是Android 7.0上webview加载https遇到证书问题来了。我查了一下资料,就在给webview设置WebViewClient的时候,重写了这个方法

@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
    utils.logD("---sslError:" + error);
    super.onReceivedSslError(view, handler, error);
}
运行之后,果然发现问题了,确实是因为证书的问题。解决方式如下:

if (error.getPrimaryError() == SslError.SSL_INVALID) {
    handler.proceed();
} else {
    handler.cancel();
}
还有就是记得检查自己的wifi设置,因为使用抓包工具抓取https时,是需要安装证书的,验证自然无法通过。

感谢以下博主:码农的小世界 http://blog.youkuaiyun.com/qq_30740239/article/details/54141106

淡言:http://blog.youkuaiyun.com/li_huorong/article/details/60469607

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值