xamarin 检测网络连接

有两种方法可用于检测 Xamarin.Forms 应用程序的网络连接:

第一种,可以使用特定于平台的 API。 每个平台都有独有的 API 来检测和监视设备的网络连接变化。 这种方法非常有用,但因为此代码特定于平台,所以必须为支持的每个平台编写代码。

第二种,可以使用 Xamarin.Essentials 跨平台库。 在 Xamarin.Essentials 库中,有一个 Connectivity 类。 Connectivity 包含名为 NetworkAccess 的属性和名为 ConnectivityChanged 的事件。 这两个成员通常都可用于检测网络更改。

NetworkAccess 属性返回名为 NetworkAccess 的枚举。 该枚举有五个值:ConstrainedInternet、Internet、Local、None 和 Unknown。 如果 NetworkAccess 属性返回值 NetworkAccess.None,那么你将知道未连接到 Internet,并且不应运行网络代码。 下面是 C# 代码中的一个示例:

if (Connectivity.NetworkAccess == NetworkAccess.None)
{
    ...
}

ConnectivityChanged 事件还用于确定是否已连接到 Internet。 但 ConnectivityChanged 是一个事件,其在网络状态发生变化时自动调用。 例如,如果开始使用时网络连接有效,但最后丢失网络连接,则会调用 ConnectivityChanged 来通知这一更改。 ConnectivityChanged 的参数之一是 ConnectivityChangedEventArgs,其中包含名为 IsConnected 的属性。 可以使用 IsConnected 属性来确定是否连接到 Internet。 下面是 C# 代码中的一个示例:

Connectivity.ConnectivityChanged += Connectivity_ConnectivityChanged;
...
void Connectivity_ConnectivityChanged(object sender, ConnectivityChangedEventArgs  e)
{
    bool stillConnected = e.IsConnected;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值