作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我创建了一个应用程序,它使用 Ionic Native HTTP 成功连接到我们的服务器,并使用 Samsung Galaxy J7 Prime OS 版本 Marshmallow 和其他几个尚未在 Android Pie 下运行的应用程序对其进行了测试。出于某种原因,当我使用 Android Pie 下的设备对其进行测试时,它不再工作并且我收到 CORS 策略问题。有人遇到过类似的问题吗?有解决方法吗?不幸的是,不能在服务器配置中进行修改。我还阅读了一些有关代理的解决方案,但不确定如何实现它们。
版本:cordova-plugin-advanced-http: 2.1.1 ionic native /http: 5.8.0
最佳答案
Android P 默认需要 HTTPS。这意味着如果您在您的应用中使用未加密的 HTTP 请求,该应用将在所有低于 Android P 的版本中正常运行。
为避免此安全异常,请尝试对您的应用代码进行以下更改。
在AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application android:networkSecurityConfig="@xml/network_security_config"
... >
...
</application>
</manifest>
并在 res/xml 中添加名为:network_security_config.xml
network_security_config.xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
// Add host of your download URL in below line.
// ie. if url is "https://www.google.com/search?source=...."
// then just add "www.google.com"
<domain includeSubdomains="true">www.google.com</domain>
</domain-config>
</network-security-config>
关于android - Ionic Native HTTP 不适用于 Android 9 (Pie) 及更高版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56799906/
我是一名优秀的程序员,十分优秀!