报错
加载网络图片时报的以下错误,网络图片没法正常显示。
IOException java.io.IOException: Cleartext HTTP traffic to * not permitted
原因
从 Android 9(API 级别28)开始,明文支持默认是禁用的。
解决
方法一
把网络图片的url协议头的http改为https即可。
方法二
- 创建安全配置文件
在res文件夹下创建xml/network_security_config.xml文件,添加cleartextTrafficPermitted属性(是否允许使用http这种不安全的链接)
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
- 添加安全配置文件
AndroidManifest.xml中的application声明
android:networkSecurityConfig="@xml/network_security_config"
- 记得访问网络需要AndroidManifest.xml中开网络权限
<uses-permission android:name="android.permission.INTERNET"/>
方法三
直接在AndroidManifest.xml中的application声明
android:usesCleartextTraffic="true"
我在真机上测试是能够正常读取到网络传来的图片的,但虚拟机上读不到,不知道是什么原因。
版权声明:本文为qq_33548747原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。