android webview https http,Android WebView中Http和Https混合问题,无法显示图片解决

本文主要讲述Android WebView在加载HTTP和HTTPS页面时,因证书问题,加载有SSL层的HTTPS页面若安全证书无法认证,WebView会变空白页。针对此情况给出处理方法,如设置混合内容模式,重写onReceivedSslError方法等,还提醒去除相关super调用。

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

释放双眼,带上耳机,听听看~!

android webview 在加载http和https 过程中发现由于证书的原因当 load有ssl层的https页面时,如果这个网站的安全证书在Android无法得到认证,WebView就会变成一个空白页,而并不会像PC浏览器中那样跳出一个风险提示框。因此,我们必须针对这种情况进行处理。(这个证书限于2.1版本以上的Android 系统才可以)

// android 5.0及以上默认不支持Mixed Content

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

webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);

//或者

webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE);

}

myWebView.setWebViewClient(new WebViewClient() {

@Override

public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {

// super.onReceivedSslError(view, handler, error);//一定要注释否则不起作用

// TODO Auto-generated method stub

// handler.cancel();// Android默认的处理方式

handler.proceed();// 接受所有网站的证书

// handleMessage(Message msg);// 进行其他处理

}

});

注:在重写WebViewClient的onReceivedSslError方法时,注意一定要去除onReceivedSslError方法的super.onReceivedSslError(view, handler, error);,否则设置无效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值