在Windows Phone 开发中有时候需要获取设备当前连接网络的类型,是Wifi,还是2G,3G,或者4G,SDK中提供获取网络类型的API(Microsoft.Phone.Net.NetworkInformation. DeviceNetworkInformation),通过此API我们可以方便的获取相关信息。但是此API是基于异步回调的方式获取的,如果需要同步获取,那么就需要做一些特殊的处理。
以下代码定义网络类型信息类,用于存储获取的网络类型信息。
/// <summary> /// 网络类型 /// </summary> public enum NetworkType { None = 0, Wifi = 1, //Wifi Mobile2G = 2, //2G网络 Mobile3G = 3, //3G网络 Mobile4G = 4 //4G网络 } /// <summary> /// 网络类型信息 /// </summary> public class NetworkInfo { /// <summary> /// 网络接口的名称 /// </summary> public string InterfaceName { get; set; } /// <summary> /// 网络接口的说明 /// </summary> public string Description { get; set; } /// <summary> /// 网络类型 /// </summary> public NetworkType InterfaceType { get; set; } }
以下代码将从系统NetworkInterfaceInfo解析获取网络类型信息并写入到上面构造的NetworkInfo类中。
private static NetworkInfo parseNetworkInfo(NetworkInterfaceInfo info) { NetworkInfo netInfo = new NetworkInfo(); if (info != null) { netInfo.InterfaceName = info.InterfaceName; netInfo.Description = info.Description; switch (info.InterfaceType) { case NetworkInterfaceType.MobileBroadbandCdma: case NetworkInterfaceType.MobileBroadbandGsm: switch (info.InterfaceSubtype) { case NetworkInterfaceSubType.Cellular_GPRS: case NetworkInterfaceSubType.Cellular_1XRTT: case NetworkInterfaceSubType.Cellular_EDGE: netInfo.InterfaceType = NetworkType.Mobile2G; break; case NetworkInterfaceSubType.Cellular_3G: case NetworkInterfaceSubType.Cellular_EVDO: case NetworkInterfaceSubType.Cellular_EVDV: case NetworkInterfaceSubType.Cellular_HSPA: netInfo.InterfaceType = NetworkType.Mobile3G; break; case NetworkInterfaceSubType.Cellular_LTE: case NetworkInterfaceSubType.Cellular_EHRPD: netInfo.InterfaceType = NetworkType.Mobile4G; break; default: netInfo.InterfaceType = NetworkType.None; break; } break; case NetworkInterfaceType.Wireless80211: netInfo.InterfaceType = NetworkType.Wifi; break; default: netInfo.InterfaceType = NetworkType.None; break; } } return netInfo; }
查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/extra/
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索网络
, break
, 类型
, case
, 获取网络类型
, 网络类型
, 获取网络内容
, 获取网络资源
同步获取
windows phone 同步、windowsphone同步工具、winphone同步通讯录、mobile phone同步工具、windows phone,以便于您获取更多的相关知识。