android https加載WebView圖片不顯示問題

在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。


Android webview 從Lollipop開始webview默認不允許混合模式,https當中不能加載http資源,需要設置開啓。 Mixed content using HTTP and HTTPS on WebViews are disabled by default starting Lollipop. Is possible that is not working on devices with Lollipop? If this is the case, you can change the default WebView setting on Lollipop using: webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);

因此,解決方法有以下兩種:

1.在https頁面裏不能引用非安全的(http)資源,只能引用安全資源(https)(根據屬性推測的方案,未實踐,僅供參考);

2.在使用webview加載https頁面時,我們需要設置一下屬性

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章