2014-02-07 2 views
0

Когда телефон находится в локальной сети, он имеет ip 192.168.0.x, когда он находится вне доступа к Wi-Fi, он использует интернет-соединение, предоставляемое мобильной сетью (доступ в Интернет, когда у вас есть сим внутри телефона).Как узнать, подключен ли телефон Wi-Fi или имеет доступ к мобильному интернету через C#?

Как определить на C# какой тип соединения используется в то время?

EDIT:

NetworkInterfaceInfo netInterfaceInfo = socket.GetCurrentNetworkInterface(); 
    var type = netInterfaceInfo.InterfaceType; 
    var subType = netInterfaceInfo.InterfaceSubtype; 

ответ

3

Вы можете попробовать этот метод для проверки сетевых состояний:

public static string GetNetStates() 
{ 
    var info = Microsoft.Phone.Net.NetworkInformation.NetworkInterface.NetworkInterfaceType; 
    switch (info) 
    { 
     case NetworkInterfaceType.MobileBroadbandCdma: 
      return "CDMA"; 
     case NetworkInterfaceType.MobileBroadbandGsm: 
      return "CSM"; 
     case NetworkInterfaceType.Wireless80211: 
      return "WiFi"; 
     case NetworkInterfaceType.Ethernet: 
      return "Ethernet"; 
     case NetworkInterfaceType.None: 
      return "None"; 
     default: 
      return "Other"; 
    } 
} 
+0

проверить его. Я пробовал это, но не знал, как инициализировать сокет: посмотрите на редактирование –

+1

нам не нужно инициализировать сокет, просто используйте NetworkInterface.NetworkInterfaceType, он статичен. –

+0

Отлично работает, теперь я пытаюсь добавить уведомление в 'NetowrkInterfaceType', поэтому событие будет запущено, когда оно изменится. Спасибо за помощь. http://stackoverflow.com/questions/21617822/how-to-add-listener-to-the-property-already-defined-in-net –

Смежные вопросы