在Android9版以上會發生如下異常
java.net.UnknownServiceException: CLEARTEXT communication to * not permitted by network
原因是Android9版本默認不允許http訪問,他們認為http是不安全的,只能用https
解決辦法
1:請求修改為https
2:targetSdkVersion 降到27以下
3:在 res 下新增一個 xml 目錄,然后創建一個名為:network_security_config.xml 文件(名字自定) ,內容如下,大概意思就是允許開啟http請求
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
在AndroidManifest.xml的Application中添加配置引用
<application
..
android:networkSecurityConfig="@xml/network_security_config"
... >