Administrar notificaciones de geovallas en una tarea en segundo plano (HTML)

[ Este artículo está destinado a desarrolladores de Windows 8.x y Windows Phone 8.x que escriben aplicaciones de Windows en tiempo de ejecución. Si estás desarrollando para Windows 10, consulta la documentación más reciente

En este tema se describen los pasos para administrar notificaciones de Geofence desde una tarea en segundo plano en tu aplicación.

Guía básica: Relación de este tema con los demás. Consulta:

Introducción

Una vez creadas las geovallas, tendrás que agregar la lógica para administrar lo que sucede cuando se produce un evento de geovalla. En función de los MonitoredStates que hayas configurado, podrías recibir un evento cuando:

  • El usuario ha entrado en una región de interés.
  • El usuario ha salido de una región de interés.
  • La geovalla ha expirado o ha sido eliminada. Ten en cuenta que una aplicación en segundo plano no se activa en caso de evento de eliminación.

En este tema se describe cómo administrar una notificación de geovalla cuando se genera una tarea en segundo plano. Se supone que has configurado un agente de escucha de eventos en segundo plano, tal y como se describe en Escuchar eventos de geovallas en segundo plano. También puedes controlar los eventos directamente desde tu aplicación cuando se está ejecutando. Para obtener más información, consulta Administrar notificaciones de geovallas en primer plano y Directrices para geovallas.

Administración de notificaciones en segundo plano

Las acciones que realices para notificar al usuario dependerán de lo que haga tu aplicación, pero probablemente podrías mostrar una notificación del sistema, reproducir un sonido o actualizar un icono dinámico. El siguiente código administra la notificación:


function onCompleted() {
    try {
        // Update the UI with the completion status of the background task
        // The Run method of the background task sets the LocalSettings. 
        var settings = Windows.Storage.ApplicationData.current.localSettings;

        // get status
        if (settings.values.hasKey("Status")) {
            WinJS.log && WinJS.log(settings.values["Status"].toString(), "sample", "status");
        }

        // do your apps work here

    } catch (ex) {
        // The background task had an error
        WinJS.log && WinJS.log(ex.toString(), "sample", "error");
    }
}

Temas relacionados

Guías básicas

Guía básica para aplicaciones con JavaScript

Diseño de la experiencia del usuario para aplicaciones

Tareas

Configurar una geovalla

Controlar notificaciones de geovallas en primer plano

Escuchar eventos de geovallas en segundo plano

Referencia

Geoshape

Geofence

Geolocator

Otros recursos

Muestra de geolocalización de Windows 10

Muestra de geolocalización de Windows 8.1

Directrices para geovallas