在请求网络时出现网络连接错误:
考虑两个问题:
(1)是否有在清单文件里声明网络访问权限
<!--连接网络-->
<uses-permission android:name="android.permission.INTERNET" />
<!--用于管理监听网络状态的变化-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--用于管理监听网络状态的变化-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--用于管理监听网络状态的变化-->
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<!--获取电话的状态,在打电话的时候暂停播放-->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!--target >=28 需要设置此权限 -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
(2)api版本是多少?有没有考虑http明文访问的问题
android api27以后,默认不支持http方法,需要https,开启允许明文访问的方法:
第一步:在清单文件中application节点添加:
android:networkSecurityConfig="@xml/network_security_config"
第二步:在res目录下创建xml和network_security_config
network_security_config的内容如下:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
这样就可以成功请求网络了。