Windows Store apps开发[27]使用NetworkInformation来判断和监听网络状态
来源:互联网 发布:四虎软件 编辑:程序博客网 时间:2024/06/06 03:21
注:本文由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 的定义如下。
// 摘要: // 定义当前可用连接的级别。 [Version(100794368)] public enum NetworkConnectivityLevel { // 摘要: // 无连接。 None = 0, // // 摘要: // 仅本地网络访问。 LocalAccess = 1, // // 摘要: // 受限的 internet 访问。 ConstrainedInternetAccess = 2, // // 摘要: // 本地和 internet 访问。 InternetAccess = 3, }
监听网络状态的改变,则使用如下代码,并结合上面的代码。通过监听NetworkStatusChanged 事件即可,当网络状态发生改变时,该事件会被触发
NetworkInformation.NetworkStatusChanged += (object sener) =>{ if (!IsConnectedToInternet()) { // 网络不可以访问 } else { // 网络可以访问 }};
这里是一个简单的示例代码:
使用方法:运行启动程序,然后手动改变网络链接状态(如关闭wifi链接等),这时IsConnectedToInternet方法会被调用。
下载代码
- Windows Store apps开发[27]使用NetworkInformation来判断和监听网络状态
- 使用NetworkInformation来判断和监听网络状
- Windows Store apps开发[35]如何创建自己的Windows Store账号来提交Apps
- Windows Store apps开发[8]处理Fullscreen, Snapped和Filled状态
- Windows Store apps开发[16]编写和使用自己的Windows Runtime组件
- Windows Store apps开发[24]选择什么语言来创建Windows Store应用程序?
- Windows Store apps开发[10]通知使用(Toast,Tile和Badge)
- Windows Store apps开发[41]FlipView控件的介绍和使用
- Windows Store apps开发[3]应用程序栏(AppBar)的使用
- Windows Store apps开发[5]导航栏(AppBar)的使用
- Windows Store apps开发[29]使用Blend设计ButtonStyle
- Windows Store apps开发[47]使用默认程序打开文件
- Windows Store apps开发[48]MessageDialog的使用
- Windows Store apps开发[56]使用外部字体
- Windows Store apps开发[36]Await和Async
- Windows Store apps开发[28]在Windows 8 Apps中通过C#使用Web Service
- Windows Store apps开发[31]Windows Store中企业账号和个人账号的区别
- 网络连接状态的监听和判断
- Shell 进度条
- 心醉七夕
- hdu 1853 | hdu 3488 | hdu3435
- 学习 JS navigator 对象
- codeforces 137 div2
- Windows Store apps开发[27]使用NetworkInformation来判断和监听网络状态
- VB中的GBK编码
- Java网络编程
- 十年
- SqlServer 插入多条数据
- zeroMQ
- socket案例一
- 分布式一致性Paxos算法学习笔记(一)
- 黑马程序员_java的线程同步synchronized