Как адаптер Ethernet подключается к устройству WP?

Я пытаюсь установить активное сетевое соединение на устройстве Windows Phone 8.0 с помощью следующего фрагмента. Когда я отключаю Wi-Fi и Mobile, я ожидаю, что не обнаружу подключенного интерфейса, но, что интересно, адаптер с именем «Ethernet» кажется подключенным. Что такое адаптер Ethernet на мобильном устройстве?

foreach (NetworkInterfaceInfo networkInterfaceInfo in networkInterfaceList)
{
    if (networkInterfaceInfo.InterfaceState == ConnectState.Connected)
    {
        isConnected = true;
        if (networkInterfaceInfo.InterfaceType == NetworkInterfaceType.MobileBroadbandGsm
           || networkInterfaceInfo.InterfaceType == NetworkInterfaceType.MobileBroadbandCdma)
            isMobileConnected = true;
        else if (networkInterfaceInfo.InterfaceType == NetworkInterfaceType.Wireless80211)
            isWifiConnected = true;
    }
}

Также есть способ получить информацию об «одной активной сети»? Например, если и мобильный телефон, и Wi-Fi включены и подключены, как я могу узнать, какой из них используется на самом деле?

Спасибо


person mehmet6parmak    schedule 17.06.2014    source источник
comment
Для последнего частичного вопроса вам может помочь этот ответ.   -  person Herdo    schedule 17.06.2014
comment
Если вы делаете это, когда он подключен к ПК, то, поскольку вы можете совместно использовать доступ в Интернет с ПК на телефон, он отображается как адаптер Ethernet / адаптер локальной сети.   -  person Inept Adept    schedule 17.06.2014


Ответы (2)


Вы можете найти тип сети с классом NetworkAdapter. У него есть свойство IanaInterfaceType Чтобы проверить весь интерфейс IANA, перейдите сюда

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:
}

Надеюсь, поможет :)

person Kulasangar    schedule 17.06.2014

Попробуй это:

private void UpdateNetworkStatus()
{
    tbIsCellularDataEnabled.Text = (DeviceNetworkInformation.IsCellularDataEnabled) ? "Yes" : "No";
    tbIsNetworkAvailable.Text = (DeviceNetworkInformation.IsNetworkAvailable) ? "Yes" : "No";
    tbIsWiFiEnabled.Text = (DeviceNetworkInformation.IsWiFiEnabled) ? "Yes" : "No";
}

для получения дополнительных сведений см. Как для обнаружения сетевых изменений в Windows Phone 8

person Amit Bhatiya    schedule 17.06.2014