大家好我是程序员子固!
最近发现一个问题就是安卓高版本无法访问一些服务器网络请求,我的android7.0和7.1都可以访问数据软件也可以打开,结果用Android8及以上版本访问网络数据时确以失败告终。
但是经过我的几天努力,终于把这个问题解决了。
现在来解决问题:
1.res/添加XML布局包,在XML包里添加network-security-confi.xml文件(网络安全配置)
<?xml version="1.0" encoding="utf-8"?><!--网络安全配置--><network-security-config> <!-- 基础配置,文明上网是否允许--> <base-config cleartextTrafficPermitted="true"> <!-- 信赖下锚--> <trust-anchors> <!--证书系统--> <certificates src="system" /> </trust-anchors> </base-config></network-security-config>
图
2.给AndroidManifest.xml(清单配置文件添加配置)
android:networkSecurityConfig="@xml/network_security_config"
这个配置文件放在<application里这个是上面创建的网络安全配置的xml文件
图
3.如果你用的是Volley网络访问,你是Android高版本一定要添加这个代码不然会闪退
<uses-library android:name="org.apache.http.legacy" android:required="false" />
图
4.记得一定要添加网络访问权限哦
<uses-permission android:name="android.permission.INTERNET"/>