我是新手!当我从服务器检索数据时,我想检查我的应用程序启动时的互联网可用性。如果互联网可用,用户可随身携带app而无需任何通知。如果没有互联网,那么我必须从我的应用程序导航到特定页面。
我发现有一些关于堆栈溢出的页面,但有旧版本,而Windows 8或Windows Phone 8则不适用于WP8.1。
我正在使用以下命名空间......
System.Net.NetworkInformation,Windows.System,Windows.Networking.Connectivity和System.Net;
尝试使用Bool,IPHostEntry,GetIsNetworkAvailable但是失败了。
有人可以发贴示例代码吗?它会在app.xaml.cs和个人页面的cs中吗?
下图是我的尝试。
答案 0 :(得分:1)
我在Check Internet Connection和Navigate to Pages找到了一些帮助,并设法做了我想做的事。
我在MainPage.xaml.cs中编写我的代码" protected override void OnNavigatedTo(NavigationEventArgs e)"。我打算在每个页面上执行此代码,而不是注册网络更改通知。由于此代码使用await函数,因此我将Async添加到OnNavigatedTo事件中。以下是代码。
答案 1 :(得分:0)
首先,看一下你提供的图片,似乎你正在尝试将代码编写到类级别。据我所知,你不能把if-else逻辑等写到类级别,这应该是方法级代码。
那就是说,为了回答实际问题,我认为研究NetworkAvailabilityChanged event是有意义的。
在MSDN上的Tutorial似乎非常全面。
答案 2 :(得分:0)
如果您想在启动应用时查看互联网可用性,则应将代码逻辑移至内部方法OnLaunched:
protected override void OnLaunched(LaunchActivatedEventArgs e)
{
//paste your code here to check network
}
您可以点击左侧方法中的加号按钮,打开括号,然后将代码粘贴到其中。