我有一个奇怪的问题。我的应用程序使用http连接到服务器。它在许多设备上都能正常工作。但是,在装有Android 9的小米设备中,它给了我这个错误:
Caused by java.io.IOException: Cleartext HTTP traffic to internet.vodafone.com.eg not permitted
at com.android.okhttp.HttpHandler$CleartextURLFilter.checkURLPermitted(HttpHandler.java:142)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:469)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:418)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:549)
at com.google.firebase.perf.network.zzd.getResponseCode(zzd.java:81)
at com.google.firebase.perf.network.zzb.getResponseCode(zzb.java:14)
at com.android.volley.toolbox.HurlStack.executeRequest(HurlStack.java:96)
at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:123)
at com.android.volley.NetworkDispatcher.processRequest(NetworkDispatcher.java:131)
at com.android.volley.NetworkDispatcher.processRequest(NetworkDispatcher.java:111)
at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:90)
在AndroidManifest.xml中,我具有以下内容:
<application
...
android:networkSecurityConfig="@xml/network_security_config"
...
</application>
我的network_security_config.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">thebondnews.com</domain>
</domain-config>
</network-security-config>
此外,我拥有连接到互联网的所有权限。它可以在许多装有android 9的设备上正常运行,例如Samsung galaxy s9 / s9 +和Samsung galaxy s8 / s8 +等。
该错误消息是从Firebase Crashlatics复制的。奇怪的是我的服务器域是thebondnews.com,但在日志中却显示internet.vodafone.com.eg
或有时显示notification.etisalat.com.eg
和10.10.10.1
。就像他们的设备中存在某种重定向。
有人可以帮我解决吗?还是我该怎么办?
更新1: 可能是我只允许我的域加入 network_security_config.xml 并由于其提供者引起的重定向而导致连接失败?