安卓面试Android专题

完美解决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" />
上一篇下一篇

猜你喜欢

热点阅读