WebView加載微信公衆號文字不顯示圖片

從Android5.0以後,當一個安全的站點(https)去加載一個非安全的站點(http)時,需要配置Webview加載內容的混合模式,一共有如下三種模式:
●MIXED_CONTENT_NEVER_ALLOW:Webview不允許一個安全的站點(https)去加載非安全的站點內容(http),比如,https網頁內容的圖片是http鏈接。強烈建議App使用這種模式,因爲這樣更安全。
●MIXED_CONTENT_ALWAYS_ALLOW:在這種模式下,WebView是可以在一個安全的站點(Https)里加載非安全的站點內容(Http),這是WebView最不安全的操作模式,儘可能地不要使用這種模式。
●MIXED_CONTENT_COMPATIBILITY_MODE:在這種模式下,當涉及到混合式內容時,WebView會嘗試去兼容最新Web瀏覽器的風格。一些不安全的內容(Http)能被加載到一個安全的站點上(Https),而其他類型的內容將會被阻塞。這些內容的類型是被允許加載還是被阻塞可能會隨着版本的不同而改變,並沒有明確的定義。這種模式主要用於在App裏面不能控制內容的渲染,但是又希望在一個安全的環境下運行。
在Android5.0以下,默認是採用的MIXED_CONTENT_ALWAYS_ALLOW模式,即總是允許WebView同時加載Https和Http;而從Android5.0開始,默認用MIXED_CONTENT_NEVER_ALLOW模式,即總是不允許WebView同時加載Https和Http。

解決方法

給webview加上如下配置:

if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP) {
    settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章