使用Glide加載圖片時,在android7.1.2上一切正常,在android9上加載不出來,log也沒有錯誤日誌,最終終於在as的“Run”選項卡下找到了蛛絲馬跡,提示:Glide: Root cause java.io.FileNotFoundException: No content provider
最終在stackoverflow中找到一位老哥的答案,https://stackoverflow.com/questions/49706014/glide-filenotfoundexception-no-content-provider-when-loading-images-from-intern#
具體的解決方式就是在清單文件的application節點下添加android:usesCleartextTraffic="true"即可
<application
android:usesCleartextTraffic="true"
……
因爲從Android 9.0(API級別28)開始,明文支持在默認情況下被禁用,來確保所有到的連接始終通過HTTPS完成,以保護敏感流量免受惡意網絡的攻擊。大概意思就是爲了保護應用安全,網絡傳輸默認禁止使用http了,推薦使用https。
當然也可以創建一個配置文件來配置只訪問一個特定的域,具體參考https://stackoverflow.com/questions/49706014/glide-filenotfoundexception-no-content-provider-when-loading-images-from-intern#鏈接