Xamarin.ios 如何使用米格尔';什么是可达性类?

Xamarin.ios 如何使用米格尔';什么是可达性类?,xamarin.ios,Xamarin.ios,我目前正在使用Miguel的可达性类来确定我的设备是否可以连接某个服务器。但是,在某些情况下,检查需要很长时间。我的电话是: Reachability.IsHostReachable ( sUrl ) 我正在尝试访问服务器的URL。 但我对这个不太感兴趣。只需知道设备当前是否在WiFi网络中注册,如果没有注册,是否通过运营商的GSM网络连接即可。它是否到达宿主是次要的。由于可达性没有得到很好的评价,我想知道是否有人知道我必须调用什么方法 编辑: 如果有人向我解释InternetConnecti

我目前正在使用Miguel的可达性类来确定我的设备是否可以连接某个服务器。但是,在某些情况下,检查需要很长时间。我的电话是:

Reachability.IsHostReachable ( sUrl )
我正在尝试访问服务器的URL。 但我对这个不太感兴趣。只需知道设备当前是否在WiFi网络中注册,如果没有注册,是否通过运营商的GSM网络连接即可。它是否到达宿主是次要的。由于可达性没有得到很好的评价,我想知道是否有人知道我必须调用什么方法

编辑: 如果有人向我解释InternetConnectionStatus()和LocalWifiConnectionStatus()的含义就足够了。有趣的是:即使我关闭了WiFi,第一个总是返回true。

我倾向于使用

Reachability.RemoteHostStatus() == NetworkStatus.NotReachable

检查连接。
NetworkStatus
枚举还包括
reachable-via-carrier-data-network
reachable-via-wifinetwork
,这可能会满足您的需要。

因此,如果您使用的是wifi网络,但该网络实际上无法连接到internet,您不在乎吗?你会像对待正常的互联网连接一样对待它吗?听起来有点奇怪…我假设如果设备连接到WiFi,它将能够访问互联网。这意味着我将尝试下载或其他方式。换句话说:我想知道设备是否完全断开连接。这是我过去使用的,但它确实试图访问主机(google.com是预定义的),在某些情况下,这似乎需要一段时间。我想知道该设备当前是否在WiFi网络或3G网络中注册。当你说“InternetConnectionStatus()总是返回true…”时,你如何使用
InternetConnectionStatus()
?我正在快速查看代码,它应该返回
NetworkStatus
而不是bool?你的意思是它总是返回
网络状态。可通过WifineNetwork访问
?以下是我的调用:NetworkStatus eStatus=Reachability.InternetConnectionStatus();如果Wifi当前能够接入互联网,则返回TRUE。但是,如果WiFi关闭,我使用3G,但3G当前未激活,则返回NotReachable。这意味着,它一开始不会尝试启动3G网络连接,这就是我面临的问题。我想知道1)我可以使用Wifi吗?2) 我能用3G吗?。我对“我可以到达某个主机”不感兴趣。众所周知,3G有时不能正常唤醒,你可以尝试触发
MonoTouch.ObjCRuntime.Runtime.StartWWAN(Uri)Reachability.InternetConnectionStatus()
作为测试,看看这是否是问题所在?