首页 > 解决方案 > 如何修复安卓 6.0.1 的小米红米 3S 中不允许明文流量的问题

问题描述

当我使用带有http的 URL 时,它会显示错误“网络安全策略不允许与(域名)进行 CLEARTEXT 通信”。我在 manifest.xml 文件中尝试了cleartextTrafficPermitted = true,但它与我使用的支付网关不兼容,它需要 cleartextTrafficPermitted = false。由于它是 API 级别 23,因此networkSecurityConfig = "@xml/network_security_config" 在其中不起作用。我正在使用 Retrofit 作为网络库。

这是设备特定问题 Xiomi Redmi 3S、MIUI Global 10.2、Android 版本 6.0.1。

关于这个问题的任何建议。

标签: androidandroid-manifest

解决方案


最后我通过中等帖子得到了解决方案,我使用的代码:

  • 第一步:创建文件:res/xml/network_security_config.xml 在这个文件中添加代码:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
<domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">Your URL(ex: 127.0.0.1)</domain>
    </domain-config>
</network-security-config>
  • 第 2 步:在 AndroidManifest.xml 中添加行
<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        ...
        android:networkSecurityConfig="@xml/network_security_config"
        ...>
        ...
    </application>
</manifest>

推荐阅读