android - 如何修复安卓 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。
关于这个问题的任何建议。
解决方案
最后我通过中等帖子得到了解决方案,我使用的代码:
- 第一步:创建文件: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>
推荐阅读
- c++ - 收到此错误“预期在'之前的主要表达式'。' 令牌”是 C++ 的新手
- c# - 使用其他表单中的复选框/按钮
- r - r:如何根据每个列名的单独后缀同时更改多个列名
- rpmbuild - 安装 RPM 后如何将消息写入屏幕?
- html - 如何在 BS 中将文本环绕在图像周围,将文本置于移动设备上的图像下方
- spring-mvc - 如何在页面重新加载时在 JSP 页面中保留类型文件的输入
- python - Pandas Plotting 在 x 轴上显示所有日期值(matplolib 仅显示少数值),格式为 MMM-YYYY
- javascript - 使用 React Redux 时出现以下错误 - TypeError: Cannot read property 'id' of undefined
- swiftui - SwiftUI HealthKit 氧饱和度
- react-native - REACT NATIVE - Expo AV didJustFinish