一鲸伴、原因
Android 5.0 更改了應(yīng)用的默認(rèn)行為。
-
如果您的應(yīng)用是面向 API 級別 21 或更高級別:
- 默認(rèn)情況下棺滞,系統(tǒng)會阻止混合內(nèi)容和第三方 Cookie纷铣。要允許混合內(nèi)容和第三方 Cookie,請分別使用 setMixedContentMode()和 setAcceptThirdPartyCookies() 方法贡避。
- 系統(tǒng)現(xiàn)在可以智能地選擇要繪制的 HTML 文檔部分痛黎。這個新的默認(rèn)行為有助于減少內(nèi)存占用和提升性能。如果您要一次渲染整個文檔刮吧,可通過調(diào)用 enableSlowWholeDocumentDraw()`停用此優(yōu)化湖饱。
- 如果您的應(yīng)用是面向低于 21 的 API 級別:系統(tǒng)允許混合內(nèi)容和第三方 Cookie,并始終一次渲染整個文檔杀捻。
二井厌、解決方法
//Android Lollipop(5.0)開始 webview默認(rèn)不允許混合模式,https當(dāng)中不能加載http資源致讥,如果要加載仅仆,需單獨設(shè)置開啟。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}