Android WebView加載https出現空白頁
APP 首頁有廣告圖檔,點選之後打開連結,本來都能正常打開,某一天同僚告訴我點開是白屏。
調查了一下,發現WebView加載了URL,但是URL是https,因為之前加載都是http的,是以自然想到是https的影響,按照網上說明,增加如下代碼:
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient(){
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error){
Log.e(“tag”," SslError="+error);
handler.proceed();
}
});
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
但好像并沒有什麼用,還是白屏,無法加載出來。
後來,經過深入調查,發現少加了如下屬性,加上就能正常顯示了。
webSettings.setLoadWithOverviewMode(true);
webSettings.setDomStorageEnabled(true);
webSettings.setBlockNetworkImage(false);
webSettings.setUseWideViewPort(true);