我熟悉“可达性”类来检查是否有互联网连接: https://github.com/xamarin/monotouch-samples/blob/master/ReachabilitySample/reachability.cs
我现在想知道是否有任何方法可以在网络状态发生变化时获得通知? 假设我的收藏是在没有互联网的情况下加载的。图像不会被加载。如果 iPad 突然再次联网,我想再次触发下载。
在可达性类中,我看到以下代码:
public static event EventHandler ReachabilityChanged;
static void OnChange (NetworkReachabilityFlags flags)
{
var h = ReachabilityChanged;
if (h != null)
h (null, EventArgs.Empty);
}
但是,如果我在“OnChange”方法中设置断点,则在我关闭 Wifi 时不会调用它。
有什么想法吗?
问候,马特
最佳答案
好吧,其实我应该自己找到答案的。
在收到通知之前,您应该先调用以下函数:
Reachability.InternetConnectionStatus ();
Reachability.LocalWifiConnectionStatus ();
Reachability.RemoteHostStatus ();
调用这 3 个静态函数调用将初始化所有必要的对象。这 3 个对象将在发生更改时收到通知,并在可达性调用中调用“OnChange”(通知您的事件处理程序)。
(当然,更好的是创建一个特殊函数来初始化所有需要的对象,这样您就不需要调用这 3 个函数,因为它们已经真正测试了网络连接)
关于xamarin.ios - Monotouch - 当网络状态改变时得到通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19337014/