Android 9 (API 28)或以上的Android设备上,要求使用HTTPS进行网络请求。那么如何解决这种问题呢?大致可以从四个方面来解决:
1. 使用https请求
2. targetSdkVersion 降到27或以下
3. 使用network_security_config.xml配置文件
在res目录下新建一个xml目录,然后在xml目录里创建network_security_config.xml 文件,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
// 允许明文传输
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
然后,通过App的AndroidManifest.xml文件下的application标签的networkSecurityConfig属性引用配置文件network_security_config.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application android:networkSecurityConfig="@xml/network_security_config"
... >
...
</application>
</manifest>
4.设置application标签的usesCleartextTraffic属性为true
<application
android:usesCleartextTraffic="true"
...
>
...
</application>
谢谢阅读。