[TOC]
表现
Android 中webView无法加载https协议URL,特别是6.0以后都出现问题
webView 从 Lollipop 开始默认不开 MixedContentMode
修复方法
webView.setWebViewClient(new WebViewClient(){
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error){
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
webView.getSettings()
.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
}
);
会被警告的修复方法
重写WebViewClient
的onReceivedSslError
添加handler.proceed
方法,但 App如果上架GooglePlay会被警告
webView.setWebViewClient(new WebViewClient(){
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error){
handler.proceed();
}
}
);