【问题标题】:Xamarin Android call WebAPI Connection FailXamarin Android 调用 WebAPI 连接失败
【发布时间】:2020-04-22 10:29:16
【问题描述】:

我在 Xamarin 中创建了一个应用,该应用将调用 WebAPI 来登录并从服务器检索数据。

WebAPI 是 http,而不是 https。

iOS模拟器、iOS设备、Android模拟器调用web API成功。 (我没有安卓设备可以测试)。

但是当使用 Android 手机部署到用户时,调用 Web API 失败并显示错误消息 Connection Fail。

不知道为什么会这样。请指导我可以检查的内容。

谢谢

【问题讨论】:

  • 详细的错误信息是什么?有没有错误码?
  • 错误信息应该是从异常中捕获的信息,它只显示“连接失败”。我曾尝试修改程序,看看是否可以返回更多错误信息。现在等待用户回复。

标签: android xamarin webapi


【解决方案1】:

检查属性中的设置是否正确。

HttpClient 实现 -> Android

SSL/TLS 实现 -> 原生 TLS 1.2+

更新

android:networkSecurityConfig="@xml/network_security_config" 添加到 AndroidManifest 中。

创建一个名为 network_security_config.xml 的新 xml,将其添加到 res/xml 文件夹中。

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
     <base-config cleartextTrafficPermitted="true" />
</network-security-config>

【讨论】:

  • WebAPI服务器没有设置SSL证书,url以http开头。
  • Android 9.0 之后需要 https 请求,如果你还想用 http 请求,你必须在 manifest 中声明一些东西,查看我下面的更新。
【解决方案2】:

确保您的安卓模拟器设置正确并连接到互联网

【讨论】:

  • 不行,Android Emulator 可以成功调用 WebAPI,在实际的 Android 设备上运行会失败。
猜你喜欢
  • 1970-01-01
  • 2015-03-24
  • 2021-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多