在webview裏面加載https url的時候,如果裏面需要加載http的資源或者重定向的時候,webview會block頁面加載。這是Android 4.4以來google對安全機制的提升。
即當一個安全站點企圖加載來自一個不安全站點資源時WebView的行爲,android.os.Build.VERSION_CODES.KITKAT默認爲
MIXED_CONTENT_ALWAYS_ALLOW,android.os.Build.VERSION_CODES#LOLLIPOP默認爲MIXED_CONTENT_NEVER_ALLOW。
因此,解決方法有以下兩種:
1.在https頁面裏不能引用非安全的(http)資源,只能引用安全資源(https)(根據屬性推測的方案,未實踐,僅供參考);
2.在使用webview加載https頁面時,我們需要設置一下屬性
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}