我有一个用 Xamarin Forms 开发的应用程序,它以编程方式连接到物联网设备公开的 WIFI(没有互联网访问权限)。
这是我用来连接 wifi 网络的代码:
NEHotspotConfiguration configuration = new NEHotspotConfiguration("ssid");
Device.BeginInvokeOnMainThread(() =>
{
NEHotspotConfigurationManager.SharedManager.ApplyConfiguration(configuration, (NSError error) =>
{
if (error != null)
{
if (error.LocalizedDescription == "already associated.")
{
// connected!
CommunicateConnected();
}
else
{
// not connected
CommunicateNotConnected();
}
}
else
{
// connected!
CommunicateNotConnected();
}
});
});
成功建立连接后,应用程序会对IoT 设备的 IP 执行一些 HTTP 调用。
有时会发生 HTTP 调用通过蜂窝数据连接而不是 WIFI 连接(因为加入的网络没有互联网连接?)并且它们失败。(简单地说,我看到 4G 图标仍然可见,而不是代表 WIFI 连接的图标)。在这些情况下,移动连接和 WIFI 连接之间的切换会在几分钟后发生。
有没有办法强制 HTTP 调用通过刚刚加入的网络?