Aplicaciones de Windows
Contraer la tabla de contenido
Expandir la tabla de contenido

Cómo responder a eventos del sistema con tareas en segundo plano (aplicaciones de la Tienda Windows con JavaScript y HTML)

Aprende a crear una tarea en segundo plano que responda a desencadenadores de eventos del sistema. Las aplicaciones de la Tienda Windows mantienen la experiencia del usuario, incluso cuando la aplicación no está en primer plano, mediante la asociación de código personalizado ligero con eventos SystemTrigger. Este código personalizado se ejecuta en tareas en segundo plano.

Lo que debes saber

Tecnologías

Requisitos previos

  • Este tema supone que tienes una clase de tareas en segundo plano escrita para tu aplicación, y que esta tarea necesita ejecutarse en respuesta a un evento desencadenado por el sistema, como es el hecho de que Internet vuelva a estar disponible o que el usuario inicie una sesión. Tu aplicación no tiene que estar en la pantalla de bloqueo para poder ejecutar tareas en segundo plano registradas usando las clases SystemTrigger y MaintenanceTrigger. Este tema se centra en la clase SystemTrigger. Para obtener más información sobre cómo escribir una clase de tarea en segundo plano, consulta Inicio rápido: creación y registro de una tarea en segundo plano.

Instrucciones

Paso 1: Crea un objeto SystemTrigger.

En el código de tu aplicación, crea un nuevo objeto SystemTrigger. El primer parámetro, triggerType, especifica el tipo de desencadenador de eventos del sistema que activará esta tarea en segundo plano. Para ver una lista de los tipos de eventos, consulta SystemTriggerType.

El segundo parámetro, OneShot, especifica si la tarea en segundo plano se ejecutará una vez la próxima ocasión que ocurra el evento del sistema y se desencadenen las tareas en segundo plano; o, cada vez que ocurra el evento del sistema, hasta que se elimine el registro de la tarea.

El siguiente código especifica que la tarea en segundo plano se ejecuta siempre que Internet vuelva a estar disponible:


var internetTrigger = new Windows.ApplicationModel.Background.SystemTrigger(InternetAvailable, false);

Paso 2: (Opcional) Agregar una condición

Si es necesario, agrega una condición a la tarea en segundo plano para controlar cuándo se ejecutará la tarea. Una condición evita que tu tarea en segundo plano se ejecute hasta que no se satisfaga la condición; para obtener más información, consulta Cómo establecer condiciones para ejecutar una tarea en segundo plano.

En este ejemplo, la condición se establece en UserPresent, de forma que la tarea en segundo plano solo se ejecuta cuando el usuario está usando activamente el dispositivo (o cuando el usuario está disponible). Para obtener una lista de posibles condiciones de tareas en segundo plano, consulta SystemConditionType.

El siguiente código agrega una condición a la tarea en segundo plano:


var exampleCondition = new Windows.ApplicationModel.Background.SystemCondition(Windows.ApplicationModel.Background.SystemCondition.UserPresent);

Paso 3: Registrar la tarea en segundo plano

Registra la tarea en segundo plano llamando a tu función de registro de tareas en segundo plano. Para obtener más información acerca del registro de tareas en segundo plano, consulta Cómo registrar una tarea en segundo plano.

El siguiente código registra la tarea en segundo plano:


var entryPoint = “js\\ExampleBackgroundTask.js”;
var taskName = “Internet-based background task”;

var task = RegisterBackgroundTask(entryPoint, taskName, internetTrigger, exampleCondition);

Observaciones

Para ver el registro de una tarea en segundo plano en acción, descarga la muestra de tarea en segundo plano.

Las tareas en segundo plano pueden ejecutarse en respuesta a los eventos SystemTrigger y MaintenanceTrigger incluso sin colocarlas en la pantalla de bloqueo, pero aún deberás declarar las tareas en segundo plano en el manifiesto de la aplicación.

Las aplicaciones compatibles con la pantalla de bloqueo pueden registrar tareas en segundo plano que responden a los eventos TimeTrigger, PushNotificationTrigger y NetworkOperatorNotificationTrigger, permitiéndoles proporcionar una comunicación en tiempo real con el usuario, incluso si la aplicación no está en el primer plano. Para obtener más información, consulta Dar soporte a tu aplicación mediante tareas en segundo plano.

Temas relacionados

Inicio rápido: creación y registro de una tarea en segundo plano
Cómo registrar una tarea en segundo plano
Cómo establecer condiciones para ejecutar una tarea en segundo plano
Cómo usar desencadenadores de mantenimiento
Cómo declarar tareas en segundo plano en el manifiesto de la aplicación
How to debug a background task
Directrices y listas de comprobación para tareas en segundo plano

 

 

Mostrar:
© 2018 Microsoft