[WP7] Comprobar la conectividad del teléfono

Tu aplicación o juego para Phone 7 (esto vale para Silverlight y XNA) usa webservices u otros tipos de comunicación con el mundo… en un entorno tan variante como es el de un móvil, es lógico comprobar que hay conectividad antes de llamar a un webservice no os parece? Para ello el espacio de nombres Microsoft.Phone.Net.NetworkInformation tiene cosas interesantes!

Tenemos a NetworkInterfaceType, que nos devolverá la interfaz de red a la que estamos conectados -es un enumerado con muchísimos valores, que nos dirá si tenemos Wifi, ADSL, etc-, o bien que no hay conexión disponible (NetworkInterfaceType.None). El uso es muy sencillo, aunque la ejecución algo lenta, por lo que hay que tener eso en cuenta cuando lo usemos: 

var red = NetworkInterface.NetworkInterfaceType;

if (red == NetworkInterfaceType.Wireless80211)
    System.Diagnostics.Debug.WriteLine(“estamos con wifi”);
else if (red == NetworkInterfaceType.None)
    System.Diagnostics.Debug.WriteLine(“sin conexión”); 

En este caso he comrobado si la conexión es wifi, pero si queremos saber si hay conexión valdría con red != NetworkInterfaceType.None

Para ello también existe el método GetIsNetworkAvailable(), más rápido, pero que no funciona con el emulador (siempre devuelve true):

bool hayRed = Microsoft.Phone.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable();

 

Así pues si necesitamos acceder a esta información, yo recomendaría crear un método que wrapee esta funcionalidad, y ejecute un método u otro del framework dependiendo de si estamos en modo depuración o no.

Un comentario sobre “[WP7] Comprobar la conectividad del teléfono”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *