如何以Xamarin形式检测Internet连接?

时间:2019-01-03 07:45:50

标签: xamarin xamarin.forms

我正在使用Xam.Connectivity插件检查Internet连接。 这是我的代码

if (!CrossConnectivity.Current.IsConnected)
                {
                        DependencyService.Get<ISQLite>().ShowSnackBar("No Internet Connection");
                    }
                }

如果我需要每秒检查一次互联网,那么我每秒都使用Device Timer调用此代码。这段代码很好,但是我想使用任何计时器来检测何时Internet中断而不会丢失。

那么如何实现呢?

1 个答案:

答案 0 :(得分:1)

我认为您最好使用为此实现的事件。

CrossConnectivity.Current.ConnectivityChanged += async (sender, args) =>
{
    if (!args.IsConnected)
         DependencyService.Get<ISQLite>().ShowSnackBar("No Internet Connection");
};

现在无论何时连接状态发生变化,都会自动通知您。

请注意,您使用的是“旧”插件。现在Xamarin.Essentials library中也捕获了此功能,其工作原理类似,但从现在开始可能是维护版本。