C#:如何在PCL项目中检查互联网访问

时间:2016-12-08 21:45:53

标签: c# android xamarin xamarin.android webclient

我正在尝试检查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;
}

有谁知道一个同样简单的好解决方案?

1 个答案:

答案 0 :(得分:2)

最简单的方法是使用James Montemagno的连接插件:

https://github.com/jamesmontemagno/ConnectivityPlugin

你安装它,然后调用:

CrossConnectivity.Current.IsConnected
从您的PCL

。您甚至可以订阅一个事件来查看连接何时发生变化:

CrossConnectivity.Current.ConnectivityChanged += <handler>

适用于iOS和Android。