Vanguarsoft Developers blog

Ing. Javier Leal – Coordinador de Requerimientos en Traetelo.com / Traiter Lourted – 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.

Anuncios

Autor: Ing. Javier J. Leal H.

Coordinador de Requerimientos en Traetelo.com, Trainer en Lourted, Amantes de nuevas Tecnologías Desarrollador es .NET, Windows 10, 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