转载自:https://blog.csdn.net/weixin_44547418/article/details/105802260
关于Android9.0以上的网络请求配置
详情可以参考官网https://developer.android.com/training/articles/security-config#manifest
关于有些人的手机,系统是比较新的,所以在做Android项目的时候是无法使用网络请求的,因为新版本默认是不允许使用明文网络传输的,会被系统禁止掉,为了能方便使用,所以今天就给大家讲一讲关于Android9.0以上的网络请求配置。(PS:此方法是上课内容,我重新理解一遍)
第一步:先运行一下项目,看看有没有报错,如果有就是网络请求问题,就要请求配置网络。
报错:CLEARTEXT communication to 10.0.2.2 not permitted by network security policy
第二步:添加配置目录,首先弄一个目录(看图1),在res里New一个Folder里面的XML目录,点击XML之后弹出一个框,点击Finish按钮,会出现一个叫XML目录,然后在XML目录里New一个XMLResourceFile(看图2),然后写上文件名(随便你命名,我是命名network_security_config)。
图1:
图2:
第三步:写配置代码,代码有两种方法。
代码:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<!--开发中可以考虑使用-->
<!--Android API 28 及以上 关闭HTTPS服务器监测-->
<base-config cleartextTrafficPermitted="true" />
<!--实际部署后只放开自己的服务端地址-->
<!--只将本服务XXX.XXX.XXX.XXX器放开-->
<!-- <domain-config cleartextTrafficPermitted="true">-->
<!-- <domain includeSubdomains="true">XXX.XXX.XXX.XXX</domain>-->
<!-- </domain-config>-->
</network-security-config>
第四步:写好之后,就去打开安卓的AndroidManifest文件,在里面配置(我是把代码放到application标签里面)。
配置代码是:
android:networkSecurityConfig="@xml/network_security_config"