Jesús Bosch

XNA, programación gráfica y desarrollo de videojuegos por un Microsoft Student Partner

[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.

Posted: 13/10/2010 7:50 por Jesús Bosch | con 1 comment(s)
Comparte este post:

Comentarios

Miemblogs ha opinado:

Tu aplicación o juego para Phone 7 (esto vale para Silverlight y XNA) usa webservices u otros

# October 13, 2010 7:55 AM