Android 9.0 网络请求的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_40763897/article/details/88887629

运行Android 9 (API level 28)或以上的Android操作系统的设备上,为保证用户数据和设备的安全,默认使用加密传输,无论是接收或发送数据,都不能明文传输,都需要使用传输层安全协议(Transport Layer Security)。所有targetSdkVersion 设置为28或更高的App都会受此影响。

为了适应这种变化,有三种解决方案

  1. App使用https请求
  2. targetSdkVersion 降到27或以下
  3. 在res新建一个xml目录,然后创建network_security_config.xml 文件,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
   <base-config cleartextTrafficPermitted="true" /> //允许明文传输
</network-security-config>

然后在App的AndroidManifest.xml文件下的application标签加入以下属性:

<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
    <application android:networkSecurityConfig="@xml/network_security_config"
                    ... >
        ...
    </application>
</manifest>

谢谢阅读。

展开阅读全文

没有更多推荐了,返回首页