我在与小米Mi 9 SE一起开发的APP中出现问题,而与其他(旧)手机(如BQ M5或某些三星)不兼容。
我的APP连接到Web服务以获取一些信息。我对该Web服务有3种环境:测试(在本地LAN中的PC中),预生产和生产。
测试:“ http://10.60.8.223:8080/ws/webservice.wsdl”; (小米不连接,其他人可以)
PRE:“ https://ws-pre.myaplication.com/ws/webservice.wsdl”; (所有连接均正确)
PRO:“ https://ws-pro.myaplication.com/ws/webservice.wsdl”; (所有连接均正确)
我使用任何其他手机连接到3个环境,但是使用小米,我无法连接到调试Web服务的测试网址。
您知道发生了什么吗? 我可以尝试什么? 也许小米阻止了http的连接,但是接受了https?
非常感谢您。 阿德里安。
答案 0 :(得分:0)
我已经解决了:
在RES文件夹中创建一个名为network_security_config.xml的xml文件。
<?xml version="1.0" encoding="utf-8"?>
<network-security-config xmlns:android="http://schemas.android.com/apk/res/android">
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
</network-security-config>
在Android清单中的应用程序标记内:
<application
...
android:networkSecurityConfig="@xml/network_security_config">
答案 1 :(得分:0)
您也可以这样做。
<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
<uses-permission android:name="android.permission.INTERNET" />
<application
...
android:usesCleartextTraffic="true"
...>
...
</application>
</manifest>