【问题标题】:check internet connection is Connected or not in Xamarin Forms在 Xamarin Forms 中检查 Internet 连接是否已连接
【发布时间】:2019-07-22 01:50:59
【问题描述】:

我正在学习 Xamarin,

我想知道是否有其他方法可以检查互联网连接。

我已经使用插件https://www.nuget.org/packages/Xam.Plugin.Connectivity中的CrossConnectivity.Current.IsConnected,但是当我关闭wifi时它不起作用

我也用过Xamarin.Essentails,但还是不行..

private bool CheckInternet()
        {
            var current = Connectivity.NetworkAccess;

            if (current == NetworkAccess.Internet) return true;
            else return false;
        }

感谢您的帮助

【问题讨论】:

  • “不工作”是什么意思?您是在真实设备还是模拟器上进行测试?您是在同时具有 WiFi 和蜂窝功能的设备上进行测试,还是仅在 WiFi 上进行测试?您是否尝试过使用检测网络变化的事件处理程序?
  • 它是模拟器,在微软网站上说你可以访问互联网,但如果没有连接,它会像有互联网一样继续工作
  • 限制 请务必注意,NetworkAccess 可能会报告 Internet,但无法完全访问 Web。由于连接在每个平台上的工作方式,它只能保证连接可用。例如,设备可能连接到 Wi-Fi 网络,但路由器与互联网断开连接。在这种情况下,可能会报告 Internet,但活动连接不可用。
  • 是的,这就是该插件还为您提供 ping 工具的原因:jamesmontemagno.github.io/ConnectivityPlugin/PingaHost.html
  • 连接变化时是否需要捕获?例如,当连接断开或重新连接时?

标签: c# .net xamarin xamarin.forms


【解决方案1】:

查看完整文档link

你可以使用

public async Task<string> MakeWebRequest()
{
    if(!CrossConnectivity.Current.IsConnected)
    {
      //You are offline, notify the user
      return null;
    }

    //Make web request here
}

【讨论】:

    猜你喜欢
    • 2018-04-01
    • 1970-01-01
    • 2011-03-22
    • 1970-01-01
    • 2018-11-21
    • 2021-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多