如何检测Windows 8设备是否在WiFi / LAN或3G Internet连接上?

时间:2013-05-13 13:35:13

标签: windows-8 windows-runtime

有没有办法检测当前的Windows 8设备是使用来自WiFi / LAN的Internet还是来自3G连接?我们必须根据网络速度在我们的应用中提供不同的图像和视频质量。

到目前为止,我只检查了 ConnectionCost NetworkAdapter API,但我不确定,这是否是我想要的:
http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh700381.aspx

2 个答案:

答案 0 :(得分:8)

您可以找到NetworkAdapter类的网络类型。它有财产IanaInterfaceType。要检查所有IANA界面,请转到here

var profile = Windows.Networking.Connectivity.NetworkInformation.GetInternetConnectionProfile();
var interfaceType = profile.NetworkAdapter.IanaInterfaceType;

// 71 is WiFi & 6 is Ethernet(LAN)
if (interfaceType == 71 || interfaceType == 6) 
{
  //TODO:
}
// 243 & 244 is 3G/Mobile
else if (interfaceType == 243 || interfaceType == 244)
{
  //TODO:
}

答案 1 :(得分:2)

NetworkInformationConnectionCost和其他网络API可用于帮助您的方案。它是否缺少您的特定应用程序所需的某些功能?

Kraig Brockschmidt有一个很棒的implementation of a network connectivity test on his blog,可能就是你想要的。