2

我最近升级到了最新版本的 Xamarin 4.5.0.356。这迫使我将我的 Android 构建版本更改为 9.0。

从那时起,每当我调用我的测试 API 时,我都会得到:

Java.IO.IOException   Message=Cleartext HTTP traffic to myapi.azurewebsites.net not permitted

我意识到 API 应该都是 http S但这是一个测试(归我所有)。

我搜索了网络(堆栈溢出),建议我将以下内容添加到 AndroidManifest.xml

  <uses-permission android:name="android.permission.INTERNET" />
  <application android:networkSecurityConfig="@xml/network_security_config" />
</manifest>

然后添加一个 Resources/xml/network_security_config.xml 包含以下内容的文件:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
  <domain-config cleartextTrafficPermitted="true">
    <domain includeSubdomains="true">myapi.azurewebsites.net</domain>
  </domain-config>
</network-security-config>

但是,我在第一次调用 API 时仍然收到错误消息。(iOS版本运行良好)

有人有想法么?

4

1 回答 1

2

尝试在 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">myapi.azurewebsites.net</domain>
  </domain-config>
</network-security-config>
于 2020-03-09T02:21:29.937 回答