C#:如何检查 PCL 项目中的互联网访问
C#: How to check internet access in PCL project
我正在尝试检查由 Xamarin.iOS 和 Xamarin.Android 项目使用的 PCL 项目中的互联网连接。我从我的研究中收集到 WebClient 不能在 PCL 中使用,但我一直无法找到不使用 WebClient 的令人满意的解决方案。这是我想使用的代码:
try
{
using (var client = new WebClient())
{
using (var stream = client.OpenRead("http://www.google.com"))
{
return true;
}
}
}
catch
{
return false;
}
有人知道同样简单的好解决方案吗?
最简单的方法是使用 James Montemagno 的 Connectivity 插件:
https://github.com/jamesmontemagno/ConnectivityPlugin
你安装这个,然后调用:
CrossConnectivity.Current.IsConnected
来自您的 PCL。您甚至可以订阅事件以查看连接何时更改:
CrossConnectivity.Current.ConnectivityChanged += <handler>
这适用于 iOS 和 Android。
我正在尝试检查由 Xamarin.iOS 和 Xamarin.Android 项目使用的 PCL 项目中的互联网连接。我从我的研究中收集到 WebClient 不能在 PCL 中使用,但我一直无法找到不使用 WebClient 的令人满意的解决方案。这是我想使用的代码:
try
{
using (var client = new WebClient())
{
using (var stream = client.OpenRead("http://www.google.com"))
{
return true;
}
}
}
catch
{
return false;
}
有人知道同样简单的好解决方案吗?
最简单的方法是使用 James Montemagno 的 Connectivity 插件:
https://github.com/jamesmontemagno/ConnectivityPlugin
你安装这个,然后调用:
CrossConnectivity.Current.IsConnected
来自您的 PCL。您甚至可以订阅事件以查看连接何时更改:
CrossConnectivity.Current.ConnectivityChanged += <handler>
这适用于 iOS 和 Android。