【问题标题】:Internet availability check - Navigate to Page - Windows Phone 8.1 - C#Internet 可用性检查 - 导航到页面 - Windows Phone 8.1 - C#
【发布时间】:2015-06-24 23:25:35
【问题描述】:

我是新手!我想在我的应用程序启动时检查互联网可用性,因为我正在从服务器检索数据。如果互联网可用,用户可以在没有任何通知的情况下继续使用应用程序。如果没有互联网,那么我必须从我的应用导航到特定页面。

我发现一些关于堆栈溢出的页面,但有旧的,适用于 windows 8 或 windows phone 8,不适用于 WP8.1。

我正在使用以下命名空间...

System.Net.NetworkInformation、Windows.System、Windows.Networking.Connectivity 和 System.Net;

尝试使用 Bool、IPHostEntry、GetIsNetworkAvailable 但一切都失败了。

有人可以发布示例代码吗?它会在 app.xaml.cs 和单个页面的 cs 中吗?

下图是我的尝试。

【问题讨论】:

    标签: c# windows-phone-8.1


    【解决方案1】:

    我在这里找到了一些帮助 Check Internet ConnectionNavigate to Pages 并设法做我想做的事。

    我在 MainPage.xaml.cs 中的“protected override void OnNavigatedTo(NavigationEventArgs e)”下编写代码。我计划在每个页面上执行此代码,而不是注册网络更改通知。由于这段代码使用了 await 函数,我将 Async 添加到 OnNavigatedTo 事件中。下面是代码。

    【讨论】:

      【解决方案2】:

      首先,查看您提供的图片,您似乎正在尝试将代码编写到类级别。据我所知,您不能真正将 if-else 逻辑等编写到类级别,这应该是方法级别的代码。

      也就是说,要回答实际问题,我认为查看NetworkAvailabilityChanged event 是有意义的。

      MSDN 上的Tutorial 似乎很全面。

      【讨论】:

        【解决方案3】:

        因为您想在您的应用启动时检查互联网可用性,您应该将您的代码逻辑移动到内部方法 OnLaunched:

        protected override void OnLaunched(LaunchActivatedEventArgs e)
        {
           //paste your code here to check network
        }
        

        您可以通过单击左侧方法上的加号按钮打开括号,然后将代码粘贴到其中。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-02-23
          • 1970-01-01
          相关资源
          最近更新 更多