Если вы можете использовать Mango (7.1) SDK и если ваш сценарий предусматривает использование сокетов, существует тривиальный способ получения информации NetworkInterfaceType / SubType для только что выполненного соединения:
NetworkInterfaceInfo netInterfaceInfo = socket.GetCurrentNetworkInterface();
var type = netInterfaceInfo.InterfaceType;
var subType = netInterfaceInfo.InterfaceSubtype;
Нетнеобходимо использовать свойство NetworkInterface.NetworkInterfaceType (которое, как известно, возвращает до 30 секунд);не нужно запускать разрешение имени хоста только для определения типа сети;Не нужно слушать события изменения сети.
Конечно, это лучше всего работает в сочетании с DeviceNetworkInformation.IsNetworkAvailable или NetworkInterface.GetIsNetworkAvailable () - эти вызовы немедленно возвращаются независимо от того, находитесь вы в сети или нет.Если да, вы сначала подключаете сокет и задаете вопросы, когда он подключен: -)
Последнее замечание: остерегайтесь информации DeviceNetworkInformation.IsWiFiEnabled от Mango.он возвращает независимо от того, включен или выключен Wi-Fi в настройках телефона ... не очень полезно.