Cómo declarar tareas en segundo plano en el manifiesto de la aplicación (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

Habilita el uso de tareas en segundo plano declarándolas como extensiones en el manifiesto de la aplicación. Cada tarea en segundo plano debe declararse como extensión en el manifiesto de la aplicación. Sin esto, tu aplicación no podrá registrar las tareas en segundo plano (se generará una excepción). Además, las tareas en segundo plano deben declararse en el manifiesto de la aplicación para pasar la certificación.

Lo que debes saber

Tecnologías

  • Diseñador de manifiestos de Microsoft Visual Studio

Requisitos previos

  • Este tema supone que has creado uno o más trabajos de tareas en segundo plano y que tu aplicación registra cada trabajo de tarea en segundo plano en respuesta a uno o más desencadenadores.

Instrucciones

Paso 1: Agregar extensiones manualmente

Abre el manifiesto de la aplicación y ve al elemento Application. Crea un elemento Extensions (si no existe uno ya).

El siguiente fragmento de código se toma de BackgroundTaskSample:


<Application Id="App" StartPage="default.html">
  <VisualElements DisplayName="BackgroundTask JS sample" Logo="images\squareTile-sdk.png" SmallLogo="images\smallTile-sdk.png" Description="BackgroundTask JS sample" ForegroundText="light" BackgroundColor="#00b2f0" ToastCapable="false">
    <LockScreen Notification="badgeAndTileText" BadgeLogo="images\badgelogo-sdk.png" />
    <DefaultTile ShortName="BGTask JS" ShowName="allLogos" WideLogo="images\tile-sdk.png" />
    <SplashScreen BackgroundColor="#00b2f0" Image="images\splash-sdk.png" />
  </VisualElements>

  <Extensions>

    <!-- In the next step, we'll add elements here. -->

  </Extensions>

</Application>

Paso 2: Agregar extensión de tarea en segundo plano

Declara tu primera tarea en segundo plano.

Copia este código al elemento Extensions (agregarás atributos en los siguientes pasos).


<Application Id="App" StartPage="default.html">
  <VisualElements DisplayName="BackgroundTask JS sample" Logo="images\squareTile-sdk.png" SmallLogo="images\smallTile-sdk.png" Description="BackgroundTask JS sample" ForegroundText="light" BackgroundColor="#00b2f0" ToastCapable="false">
    <LockScreen Notification="badgeAndTileText" BadgeLogo="images\badgelogo-sdk.png" />
    <DefaultTile ShortName="BGTask JS" ShowName="allLogos" WideLogo="images\tile-sdk.png" />
    <SplashScreen BackgroundColor="#00b2f0" Image="images\splash-sdk.png" />
  </VisualElements>

  <Extensions>
    <Extension Category="windows.backgroundTasks" StartPage="">
      <BackgroundTasks>
        <Task Type="" />
      </BackgroundTasks>
    </Extension>
  </Extensions>

</Application>
  1. Cambia el atributo EntryPoint para que tenga la misma cadena que usó tu tarea en segundo plano (path.filename).

    En este ejemplo, el punto de entrada es Tasks.SampleBackgroundTask:

    
    <Extension Category="windows.backgroundTasks" StartPage="js\backgroundtask.js">
    
  2. Cambia el atributo Task Type para indicar el tipo de registro de tareas usado con esta tarea en segundo plano. Si la tarea en segundo plano se registra con varios tipos de desencadenadores, agrega elementos Task con atributos Type adicionales para cada uno.

    Nota  Asegúrate de incluir en la lista todos los tipos de desencadenadores que estás usando, o la tarea en segundo plano no se registrará con los tipos de desencadenadores no declarados (el método Register generará un error y lanzará una excepción).

     

    Este ejemplo de fragmento de código indica el uso de SystemEventTrigger:

    
    <Task Type="systemEvent" />
    

    Nota  En JavaScript no es necesario (o ni siquiera corresponde) usar el elemento Executable. Todos lo trabajos en segundo plano de JavaScript se ejecutan en el host proporcionado por el sistema predeterminado.

     

Paso 3: Agregar extensiones adicionales de tareas en segundo plano

Repite el paso 2 para todas las clases de tareas en segundo plano que haya registrado tu aplicación.

El siguiente ejemplo es el elemento Application completo de la muestra de tarea en segundo plano. Muestra el uso de 3 tareas en segundo plano. Copia la sección Extensions de este ejemplo y modifícala conforme sea necesario para declarar tareas en segundo plano en tu manifiesto de la aplicación.

<Application Id="App" StartPage="default.html">
  <VisualElements DisplayName="BackgroundTask JS sample" Logo="images\squareTile-sdk.png" SmallLogo="images\smallTile-sdk.png" Description="BackgroundTask JS sample" ForegroundText="light" BackgroundColor="#00b2f0" ToastCapable="false">
    <LockScreen Notification="badgeAndTileText" BadgeLogo="images\badgelogo-sdk.png" />
    <DefaultTile ShortName="BGTask JS" ShowName="allLogos" WideLogo="images\tile-sdk.png" />
    <SplashScreen BackgroundColor="#00b2f0" Image="images\splash-sdk.png" />
  </VisualElements>
  <Extensions>
    <Extension Category="windows.backgroundTasks" StartPage="js\backgroundtask.js">
      <BackgroundTasks>
        <Task Type="systemEvent" />
      </BackgroundTasks>
    </Extension>
    <Extension Category="windows.backgroundTasks" EntryPoint="Tasks.SampleBackgroundTask">
      <BackgroundTasks>
        <Task Type="systemEvent" />
        <Task Type="timer" />
      </BackgroundTasks>
    </Extension>
    <Extension Category="windows.backgroundTasks" EntryPoint="Tasks.ServicingComplete">
      <BackgroundTasks>
        <Task Type="systemEvent" />
      </BackgroundTasks>
    </Extension>
  </Extensions>
</Application>

Temas relacionados

Declaraciones de funcionalidades de aplicación

Procedimientos para crear un manifiesto de paquetes manualmente

Cómo registrar una tarea en segundo plano

Cómo depurar una tarea en segundo plano

Directrices y listas de comprobación para tareas en segundo plano