none
notificar que la app necesita internet RRS feed

  • Pregunta

  • Hola estimados, buenas tardes, cómo puedo enviar una notificación cuando el usuario no cuenta con internet y abre la app windows 8, ya que actualmente si el usuario no cuenta con internet, y el usuario abre la app, esta se cierra de inmediato, la app esta en html5+javascript.

    Gracias.

    saludos.


    Rdgo.

    jueves, 20 de septiembre de 2012 16:00

Respuestas

  • Hola Rodrigo,

    En realidad necesitas comprar el estado de la conexión al abrir la aplicación y en cualquier momento de la ejecución de esta, ya que podrías perder la conectividad mientras estás usando la aplicación.

    Una opción es usar el siguiente código:

        //Esta función nos retornará si la conexión está disponible
        function IsInternetAvailable() {
            var internetProfile = Windows.Networking.Connectivity.NetworkInformation.getInternetConnectionProfile();
            return internetProfile != null && internetProfile.getNetworkConnectivityLevel() == Windows.Networking.Connectivity.NetworkConnectivityLevel.internetAccess;
        }
    
        //Guardamos el estado de la conexión al abrir la aplicación
        var hasInternetAccess = IsInternetAvailable();
    
        //Este evento se lanzará cada vez que cambie el estado de la red (adaptador levantado/caido, conexión a nueva red, etc...)
        Windows.Networking.Connectivity.NetworkInformation.onnetworkstatuschanged = function (eventArgs) {
            var isNowInternetAvailable = IsInternetAvailable();
            if (hasInternetAccess && !isNowInternetAvailable) {
                hasInternetAccess = false;
                new Windows.UI.Popups.MessageDialog("La conexión a Internet no está disponible.").showAsync();
            } else if (!hasInternetAccess && isNowInternetAvailable) {
                hasInternetAccess = true;
                new Windows.UI.Popups.MessageDialog("¡La conexión a Internet ha vuelto!").showAsync();
            }
        };

    Para dar el mensaje al abrir la aplicación, no tendrías más que llamar a IsInternetAvailable antes de usar las funciones de red :)

    viernes, 21 de septiembre de 2012 23:34