繁体   English   中英

C#:如何检查PCL项目中的Internet访问

[英]C#: How to check internet access in PCL project

我正在尝试检查Xamarin.iOS和Xamarin.Android项目使用的PCL项目中的Internet连接。 我从研究中发现,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。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM