Windows Store apps开发[27]使用NetworkInformation来判断和监听网络状态
注:本文由BeyondVincent(破船)原创首发
转载请注明出处:BeyondVincent(破船)@DevDiv.com
在Windows Store apps程序开发中,我们一般都会进行网络交互,那么这时对网络连接的信息判断以及状态的监听,就比较重要了。下面我直接给出代码,通过代码很容易理解如何判断和监听网络状态。
判断网路状态使用如下代码:
private bool IsConnectedToInternet(){ bool connected = false; ConnectionProfile cp = NetworkInformation.GetInternetConnectionProfile(); if (cp != null) { NetworkConnectivityLevel cl = cp.GetNetworkConnectivityLevel(); connected = cl == NetworkConnectivityLevel.InternetAccess; } return connected;}
NetworkInformation 类属于static类,里面的方法也是static的,所以,这里通过直接访问GetInternetConnectionProfile 方法,获得网络连接信息,然后根据NetworkConnectivityLevel 来区分网络的链接状态。
NetworkConnectivityLevel 的定义如下。
NetworkInformation.NetworkStatusChanged += (object sener) =>{ if (!IsConnectedToInternet()) { // 网络不可以访问 } else { // 网络可以访问 }};
这里是一个简单的示例代码:
使用方法:运行启动程序,然后手动改变网络链接状态(如关闭wifi链接等),这时IsConnectedToInternet方法会被调用。
下载代码