完美解决Android 9.0以上HTTP网络请求被限制问题
2020-10-03 本文已影响0人
千夜零一
遇到问题
Android P 9.0以上系统,HTTP网络被限制。HTTPS无影响。
Android 10系统同样的问题。
Android P以上要求网络请求必须为Https,Http请求会抛异常。
原因分析
Android P以上的应用默认都被限制了明文流量的网络请求,非加密的流量请求都会被系统禁止掉。同时,目标API级别为27或更低的应用程序的默认值为“ true”。面向API级别28或更高级别的应用默认为“ false”。
解决方法
需要在AndroidManifest.xml文件中设置:
android:usesCleartextTraffic="true"
android:usesCleartextTraffic 指示应用程序是否打算使用明文网络流量,例如明文HTTP。
作用
忽略证书,可以使用明文流量访问,https&http都可以访问。
安全性问题
避免明文通信的主要原因是缺乏机密性,真实性和防篡改保护;网络攻击者可以窃听所传输的数据,并且还可以对其进行修改而不会被检测到。
此外
别忘记在Android.Manifest.xml文件中添加网络访问权限哦!
<uses-permission android:name="android.permission.INTERNET" />