完美解决Android 9.0以上HTTP网络请求被限制问题

遇到问题

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" />
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容