android 用webview加载网页(https和http)

在Android中使用WebView加载HTTPS网页时,如果遇到未认证的SSL证书,会导致页面无法正常显示。对于2.1及以上版本的Android系统,可以通过重写WebViewClient的onReceivedSslError方法来处理。此外,如果设备设置了代理,也可能导致网页无法打开。对于2.2之前的版本,需要导入2.2的源码来实现onReceivedSslError。同时,为了使WebView能够弹出JS警告框并处理混合内容(HTTP和HTTPS),需要分别重写WebChromeClient的onJsAlert方法和设置WebViewClient及WebChromeClient。若加载的HTTP网页内有HTTPS资源,可能因混合内容问题导致图片不显示。

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

1.Android 加载https请求的网页的时候 打不开

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

     

wv.setWebViewClient(new WebViewClient(){

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

//handler.cancel(); 默认的处理方式,WebView变成空白页
  handler.process();接受证书

//handleMessage(Message msg); 其他处理
}

// 这行代码一定加上否则效果不会出现  
 webView.getSettings().setJavaScriptEnabled(true);  

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值