我的应用程序中有一个要求,我需要显示一个图像来指示应用程序是否已连接到网络。我可以使用James Montemagno的连接插件来完成它。但我想使用它来实现它Reachability类。当我实现Reachability类时,OnChange方法永远不会触发。当我打开或关闭wifi时,OnChange永远不会被调用。有人可以指导我如何实现这个目标吗?
public static event EventHandler ReachabilityChanged;
static void OnChange(NetworkReachabilityFlags flags)
{
ReachabilityChanged?.Invoke(null, EventArgs.Empty);
}
答案 0 :(得分:0)
将以下代码放入您的PCL App()
CrossConnectivity.Current.ConnectivityChanged += (object sender, Plugin.Connectivity.Abstractions.ConnectivityChangedEventArgs e) =>
{
bool IsInternetConnected = e.IsConnected;
}
您可以使用信息中心参考this
传递连接状态答案 1 :(得分:-1)
好的,让我解释一下如何使用Rehability.cs类
1)在您的项目中添加此文件。
https://github.com/xamarin/ios-samples/blob/master/ReachabilitySample/reachability.cs
2)更改项目名称的命名空间。
NetworkStatus remoteHostStatus, internetStatus, localWifiStatus;
4)在ViewController中添加此方法。 TableView.ReloadData()行;将您想要更新的表格的名称放在其中。
void UpdateStatus (object sender, EventArgs e)
{
remoteHostStatus = Reachability.RemoteHostStatus ();
internetStatus = Reachability.InternetConnectionStatus ();
localWifiStatus = Reachability.LocalWifiConnectionStatus ();
TableView.ReloadData ();
}
5)在ViewDidLoad中添加这两行
UpdateStatus (null, null);
Reachability.ReachabilityChanged += UpdateStatus;
更深入了解代码下载此示例并在Visual Studio中运行应用程序。 https://developer.xamarin.com/samples/monotouch/ReachabilitySample/
此致