Si nuestra aplicación esta accediendo a internet para recuperar datos es importante que tengamos en cuenta si en ese momento el dispositivo tiene cobertura ya sea wifi, 3g…, para detectar si tenemos conexión lo tenemos fácil solo tenemos que utilizar la clase NetworkInterface que nos proporciona el método GetIsNetworkAvailable para indicarnos si hay cobertura en ese momento.
1 private bool InternetIsAvailable() 2 { 3 if (!NetworkInterface.GetIsNetworkAvailable()) 4 { 5 MessageBox.Show("No tienes conexión de internet."); 6 return false; 7 } 8 return true; 9 }
También podemos detectar el tipo de conexión que tenemos y actuar en consecuencia, esta funcionalidad nos la proporciona la clase NetworkChange que se encuentra en el namespace System.Net.NetworkInformation. Esta clase nos proporciona el evento NetworkAddressChanged que se lanza cada vez que se cambia de la red de conexión. Para detectar el tipo nos basaremos en la clase NetworkInterface en la propiedad NetworkInterfaceType.
1 void NetworkChange_NetworkAddressChanged(object sender, EventArgs e) 2 { 3 var type = Microsoft.Phone.Net.NetworkInformation.NetworkInterface.NetworkInterfaceType; 4 5 switch (type) 6 { 7 case Microsoft.Phone.Net.NetworkInformation.NetworkInterfaceType.None: 8 break; 9 case Microsoft.Phone.Net.NetworkInformation.NetworkInterfaceType.AsymmetricDsl: 10 break; 11 case Microsoft.Phone.Net.NetworkInformation.NetworkInterfaceType.Atm: 12 break; 13 case Microsoft.Phone.Net.NetworkInformation.NetworkInterfaceType.BasicIsdn: 14 break; 15 case Microsoft.Phone.Net.NetworkInformation.NetworkInterfaceType.Ethernet: 16 break; 17 .......
Este era el bueno, no el anterior !!!
excelente Oskar.
nos ayudaste mucho.
Pablo.