Windows 10 UWP - 检测当前互联网连接是 Wifi 还是蜂窝网络?
Windows 10 UWP - detect if the current internet connection is Wifi or Cellular?
在 Windows 10 UWP 应用程序中,我如何检测当前的互联网连接是 Wifi 还是蜂窝网络?
在 UWP 中,您可以使用 IsWlanConnectionProfile 或 IsWwanConnectionProfile 属性检查网络连接。
例如:
var temp = Windows.Networking.Connectivity.NetworkInformation.GetInternetConnectionProfile();
if (temp.IsWlanConnectionProfile)
{
// its wireless
}else if (temp.IsWwanConnectionProfile)
{
// its mobile
}
希望对您有所帮助。
除了获得连接(其他人提到的)之外,您还可以更好地处理按流量计费的连接。
How to manage metered network cost constraints
switch (connectionCost.NetworkCostType)
{
case NetworkCostType.Unrestricted:
//
break;
case NetworkCostType.Fixed:
//
break;
case NetworkCostType.Variable:
//
break;
case NetworkCostType.Unknown:
//
break;
default:
//
break;
}
if (connectionCost.Roaming || connectionCost.OverDataLimit)
{
Cost = NetworkCost.OptIn;
Reason = connectionCost.Roaming
? "Connection is roaming; using the connection may result in additional charge."
: "Connection has exceeded the usage cap limit.";
}
else if (connectionCost.NetworkCostType == NetworkCostType.Fixed
|| connectionCost.NetworkCostType == NetworkCostType.Variable)
{
Cost = NetworkCost.Conservative;
Reason = connectionCost.NetworkCostType == NetworkCostType.Fixed
? "Connection has limited allowed usage."
: "Connection is charged based on usage. ";
}
else
{
Cost = NetworkCost.Normal;
Reason = connectionCost.NetworkCostType == NetworkCostType.Unknown
? "Connection is unknown"
: "Connection cost is unrestricted";
}
在 Windows 10 UWP 应用程序中,我如何检测当前的互联网连接是 Wifi 还是蜂窝网络?
在 UWP 中,您可以使用 IsWlanConnectionProfile 或 IsWwanConnectionProfile 属性检查网络连接。
例如:
var temp = Windows.Networking.Connectivity.NetworkInformation.GetInternetConnectionProfile();
if (temp.IsWlanConnectionProfile)
{
// its wireless
}else if (temp.IsWwanConnectionProfile)
{
// its mobile
}
希望对您有所帮助。
除了获得连接(其他人提到的)之外,您还可以更好地处理按流量计费的连接。
How to manage metered network cost constraints
switch (connectionCost.NetworkCostType)
{
case NetworkCostType.Unrestricted:
//
break;
case NetworkCostType.Fixed:
//
break;
case NetworkCostType.Variable:
//
break;
case NetworkCostType.Unknown:
//
break;
default:
//
break;
}
if (connectionCost.Roaming || connectionCost.OverDataLimit)
{
Cost = NetworkCost.OptIn;
Reason = connectionCost.Roaming
? "Connection is roaming; using the connection may result in additional charge."
: "Connection has exceeded the usage cap limit.";
}
else if (connectionCost.NetworkCostType == NetworkCostType.Fixed
|| connectionCost.NetworkCostType == NetworkCostType.Variable)
{
Cost = NetworkCost.Conservative;
Reason = connectionCost.NetworkCostType == NetworkCostType.Fixed
? "Connection has limited allowed usage."
: "Connection is charged based on usage. ";
}
else
{
Cost = NetworkCost.Normal;
Reason = connectionCost.NetworkCostType == NetworkCostType.Unknown
? "Connection is unknown"
: "Connection cost is unrestricted";
}