我在用小米Mi 9 SE开发的应用程序中遇到了问题,而我的其他(旧(手机(如BQ M5或三星(没有这个问题。
我的应用程序连接到Web服务以获取一些信息。我有三个Web服务的环境:测试(在本地局域网的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服务的TEST url。
你知道发生了什么吗?我能尝试什么?也许小米屏蔽了http连接,但承认了https?
事先非常感谢。阿德里安。
我已经解决了它:
在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 Manifest中,应用程序内部标签:
<application
...
android:networkSecurityConfig="@xml/network_security_config">
您也可以这样做。
<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
<uses-permission android:name="android.permission.INTERNET" />
<application
...
android:usesCleartextTraffic="true"
...>
...
</application>
</manifest>