Vanguarsoft Developers blog

Ing. Javier Leal -Desarrollador CPANAX C.A / Microsoft Student Partners – VENEZUELA

Detectar si tienes conexión en una App Windows Phone o Windows 8

Deja un comentario

Buenos días en esta oportunidad les traeré un truco Interesante. Muchas veces en tus aplicaciones dependen de una conexión de internet si este es tu caso debería de validar si la aplicación cuenta con conexión o no para evitar errores en la ejecución de la misma y vamos a mostrar como hacerlo en Silverlight para Windows Phone y en aplicaciones para Windows 8.

 

En Windows Phone podemos detectar el estado de la conexión de una forma sumamente sencilla. En el namespace System.Net.NetworkInformation tenemos la clase NetworkInterface que nos permite fácilmente comprobar si hay conexión lo podemos ver en el siguiente codigo:

if (NetworkInterface.GetIsNetworkAvailable())

{

// Hay conexión.

}

else

{

// No hay conexión.

}

Existen problemas en el Método anterior. Si ejecutas desde el emulador el método anterior siempre devuelve true, es decir, siempre hay conexión. Sin embargo, en el dispositivos físicos funciona. Podemos realizar en el método anterior una pequeña modificación para poder realizar las pruebas cuando no hay conexión:

private bool IsNetworkAvailable()

{

#if DEBUG

return false;

#endif

if (NetworkInterface.GetIsNetworkAvailable())

return true;

else

return false;

}

En Windows 8 no tenemos disponible el método GetIsNetworkAvailable. Sin embargo, pero si tenemos el namespace Windows.Networking.Connectivity y la clase NetworkInformation para poder realizar la misma tarea. Podemos subscribirnos a un evento de la clase NetworkInformation ya mencionada llamadoNetworkStatusChanged que se lanzará cada vez que hay cambios en la red (pasamos de tener internet a no tenerlo o viceversa):

NetworkInformation.NetworkStatusChanged += NetworkInformationNetworkStatusChanged;

 

void NetworkInformationNetworkStatusChanged(object sender)

{

if (NetworkInformation.GetInternetConnectionProfile() == null)

//No hay conexion

else

//Hay conexion

}

Hemos utilizado el método GetInternetConnectionProfile que nos indica el tipo de perfil utilizado por la aplicación. En caso de ser null, no tenemos conexión a internet.

Autor: Ing. Javier J. Leal H.

Desarrollador en CPANAX C.A, Microsoft Student Partners de Venezuela Amantes de nuevas Tecnologías Desarrollador es Silverlight 5, Windows 8, Windows Phone, Influenciador y Orador en Actividades Tecnológicas Microsoft

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s