UWP开发:获取用户当前所在的网络环境(WiFi、移动网络、LAN…)
原文:UWP开发:获取用户当前所在的网络环境(WiFi、移动网络、LAN…)
在uwp开发中,有时候,我们需要判断用户所在的网络,是WiFi,还是移动网络,给用户提醒,以免造成用户流量的损失,uwp中提供了用户所在网络的一些信息,但具体的类型,需要我们进一步判断处理。如下
这个静态类我已经写好了,用的时候只需调用它的 GetConnectionGeneration()方法即可返回当前网络类型。可以检测到的类型有2G、3G、4G、WiFi、LAN等。最后,为大家奉上代码。同时,欢迎热爱UWP开发的同学加入群:193148992 交流探讨。
public static class InternetStatus
{
static string None = "None";
static string Unknown = "Unknown";
static string IIG = "2G";
static string IIIG = "3G";
static string IVG = "4G";
static string Wifi = "wifi";
static string Lan = "Lan"; public static string GetConnectionGeneration()
{
bool isConnected = false; string InternetType = null;
ConnectionProfile profile = NetworkInformation.GetInternetConnectionProfile();
if (profile == null)
{
InternetType = InternetStatus.None;
}
else
{
NetworkConnectivityLevel cl = profile.GetNetworkConnectivityLevel();
isConnected = (cl != NetworkConnectivityLevel.None);
}
if (!isConnected)
{
return InternetStatus.None;
}
if (profile.IsWwanConnectionProfile)
{
if (profile.WwanConnectionProfileDetails == null)
{
InternetType = InternetStatus.Unknown;
}
WwanDataClass connectionClass = profile.WwanConnectionProfileDetails.GetCurrentDataClass();
switch (connectionClass)
{
//2G
case WwanDataClass.Edge:
case WwanDataClass.Gprs:
InternetType = InternetStatus.IIG;
break;
//3G
case WwanDataClass.Cdma1xEvdo:
case WwanDataClass.Cdma1xEvdoRevA:
case WwanDataClass.Cdma1xEvdoRevB:
case WwanDataClass.Cdma1xEvdv:
case WwanDataClass.Cdma1xRtt:
case WwanDataClass.Cdma3xRtt:
case WwanDataClass.CdmaUmb:
case WwanDataClass.Umts:
case WwanDataClass.Hsdpa:
case WwanDataClass.Hsupa:
InternetType = InternetStatus.IIIG;
break;
//4G
case WwanDataClass.LteAdvanced:
InternetType = InternetStatus.IVG;
break;
//无网
case WwanDataClass.None:
InternetType = InternetStatus.Unknown;
break;
case WwanDataClass.Custom:
default:
InternetType = InternetStatus.Unknown;
break;
}
}
else if (profile.IsWlanConnectionProfile)
{
InternetType = InternetStatus.Wifi;
}
else
{
///不是Wifi也不是蜂窝数据判断为Lan
InternetType = InternetStatus.Lan;
}
return InternetType;
}
}
UWP开发:获取用户当前所在的网络环境(WiFi、移动网络、LAN…)的更多相关文章
- 微信OAuth授权获取用户OpenId-JAVA(个人经验)【申明:来源于网络】
微信OAuth授权获取用户OpenId-JAVA(个人经验)[申明:来源于网络] 地址:https://my.oschina.net/xshuai/blog/293458
- 通过jquery 获取用户当前所在的城市名称和IP地址
下面这段JS代码是通过jquery 结合新浪IP地址库和QQip地址库接口获取用户当前所在的城市(省份)名称. 用户当前IP地址等数据.其中当前IP是通过 QQip地址库接口获取,其他数据都是通过 新 ...
- SharePoint 2013 开发——获取用户配置文件属性内容(User Profile)
博客地址:http://blog.csdn.net/FoxDave 本篇我们应用SharePoint CSOM(.NET)来读取用户配置文件的信息,个人开始逐渐倾向于客户端模型,因为不用远程登录到 ...
- 微信开发获取用户OpenID
第一次开发微信版网页,对最重要的获取微信OpenId,特此记录下来 1.首先得有appid和appsecret . public class WeiXin { public static string ...
- MVC 微信开发获取用户OpenID
第一次开发微信版网页,对最重要的获取微信OpenId,特此记录下来 1.首先得有appid和appsecret . public class WeiXin { public static string ...
- PHP 微信公众号开发 - 获取用户信息
项目微信公众号开发,记录获取用户微信号信息,和用户openid 1,登录微信公众平台 点击登录微信公众平台 2,获取公众号开发信息 登陆之后在 开发->基本配置 3,设置IP白名单 在这里添加服 ...
- Vue之获取用户当前所在省市
今天小编给大家带来的是使用Vue获取用户所在城市,Vue是很强大的,给大家准备好现成的插件供大家调用,下面的Demo小编使用的是百度API. 首先我们从百度平台申请百度地图的秘钥,申请成功后我们将&l ...
- NX二次开发-获取当前part所在路径UF_PART_ask_part_name
#include <uf.h> #include <uf_ui.h> #include <uf_part.h> #include <atlstr.h> ...
- 获取用户登陆所在的ip及获取所属信息
package com.tcl.topsale.download.entity; public class GeoLocation { private String countryCode; priv ...
随机推荐
- CocoaPods详解之(三)----制作篇
CocoaPods详解之----制作篇 作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/20067595 转载请注明出处 ...
- NOIP2016 天天爱跑步 - 树上差分
传送门 题目分析: 一年前还是个傻子的时候居然直接放弃了这题. 首先列出两个方程:如果i节点的观察员能够观察到由s->t的那个人,那么: \[dep[s] - dep[i] = w[i], de ...
- MapReduce 切片机制源码分析
总体来说大概有以下2个大的步骤 1.连接集群(yarnrunner或者是localjobrunner) 2.submitter.submitJobInternal()在该方法中会创建提交路径,计算切片 ...
- 使用Restlet Client发送各种Get和Post请求
在开发web应用时,在对Spring中的Controller进行测试时,需要发送各种get以及post请求进行测试,当然可以自己在浏览器里输入url或者对于测试而言使用Spring提供的MockMvc ...
- Mac的GUI哲学
GUI 哲学 前些日子,看了 Tinyfool 老师的一篇文章<开发人员为何应该使用 Mac OS X 兼 OS X 小史>,才恍然 Mac 系统可不仅仅是 UI 上与 Windows 大 ...
- SQL Server 统计某个月周末的天数
---注意:这里统计的周末包括周5,周6,但不包括周日ALTER FUNCTION [dbo].[GetWeekDaysByMonth] ( @Year INT, @Month INT, @Day I ...
- Java--垃圾收集算法及内存分配策略
本篇博客,主要介绍GC的收集算法以及根据算法要求所得的内存分配策略! 一.收集算法 收集算法,主要包括四种,分别是:Mark-Sweep(标记-清除).Copying(复制).Mark-Compact ...
- Android中使用ListView实现自适应表格
GridView比ListView更容易实现自适应的表格,但是GridView每个格单元的大小固定,而ListView实现的表格可以自定义每个格单元的大小,但因此实现自适应表格也会复杂些(格单元大小不 ...
- Leetcode 260 Single Number III 亦或
在一个数组中找出两个不同的仅出现一次的数(其他数字出现两次) 同样用亦或来解决(参考编程之美的1.5) 先去取出总亦或值 然后分类,在最后一位出现1的数位上分类成 ans[0]和ans[1] a&am ...
- WinForm控件与WPF控件的交互
原文:WinForm控件与WPF控件的交互 这个问题其实也可以理解为:怎样在WPF/XAML中使用Winform中的控件(如PictureBox)?首先看看XAML代码:(注意下面加粗的部分)< ...