如何在Windows Phone 7中检查3G,wifi,EDGE,蜂窝网络?

ram*_*ram 7 c# windows-phone-7

如何使用C#检查Windows Phone 7中的3G,wifi,EDGE,蜂窝网络?

Omr*_*itt 6

如果您可以使用Mango(7.1)SDK,并且您的方案涉及使用套接字,则可以通过一种简单的方法来获取刚刚建立的连接的NetworkInterfaceType/SubType信息:

    NetworkInterfaceInfo netInterfaceInfo = socket.GetCurrentNetworkInterface();
    var type = netInterfaceInfo.InterfaceType;
    var subType = netInterfaceInfo.InterfaceSubtype;
Run Code Online (Sandbox Code Playgroud)

无需使用NetworkInterface.NetworkInterfaceType属性(众所周知,最多需要30秒才能返回); 不需要触发主机名解析只是为了确定网络类型; 无需收听网络变更事件.

当然,这最适合与DeviceNetworkInformation.IsNetworkAvailable或NetworkInterface.GetIsNetworkAvailable()一起使用 - 无论您是否在网络上,这些调用都会立即返回.如果你是,你先连接插座并在连接时提出问题:-)

最后一点:提防Mango的DeviceNetworkInformation.IsWiFiEnabled - 我认为无论我是否在wifi网络上都会返回,但它会返回是否在手机设置中打开或关闭wifi ...不是非常有用.

  • 如何获得套接字? (2认同)