Comment déclarer des tâches en arrière-plan dans le manifeste de l’application (HTML)

[ Cet article est destiné aux développeurs de Windows 8.x et Windows Phone 8.x qui créent des applications Windows Runtime. Si vous développez une application pour Windows 10, voir la Documentation ]

Activez l’utilisation des tâches en arrière-plan en les déclarant comme extensions dans le manifeste de l’application. Chaque tâche en arrière-plan doit être déclarée comme une extension dans le manifeste de l’application. À défaut, votre application ne sera pas en mesure d’inscrire les tâches en arrière-plan (une exception sera levée). De plus, les tâches en arrière-plan doivent être déclarées dans le manifeste de l’application pour réussir la certification.

Ce que vous devez savoir

Technologies

  • Concepteur du manifeste Microsoft Visual Studio

Prérequis

  • Cette rubrique suppose que vous avez créé une ou plusieurs tâches en arrière-plan et que votre application inscrit chaque tâche en arrière-plan à exécuter en réponse à un ou plusieurs déclencheurs.

Instructions

Étape 1: Ajouter manuellement les extensions

Ouvrez le manifeste de l’application et accédez à l’élément Application. Créez un élément Extensions (s’il n’en existe pas déjà un).

L’extrait de code suivant provient 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>

Étape 2: Ajouter une extension de tâche en arrière-plan

Déclarez votre première tâche en arrière-plan.

Copiez ce code dans l’élément Extensions (vous ajouterez des attributs aux étapes suivantes).


<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. Modifiez l’attribut EntryPoint pour disposer de la même chaine que celle employée pour inscrire votre tâche en arrière-plan (path.filename).

    Dans cet exemple, le point d’entrée est Tasks.SampleBackgroundTask :

    
    <Extension Category="windows.backgroundTasks" StartPage="js\backgroundtask.js">
    
  2. Modifiez l’attribut Task Type pour indiquer le type d’inscription de tâche utilisé avec cette tâche en arrière-plan. Si la tâche en arrière-plan est inscrite avec plusieurs types de déclencheur, ajoutez des éléments Task avec des attributs Type pour chacun d’eux.

    Remarque  Pensez impérativement à répertorier chaque type de déclencheur que vous utilisez, sans quoi la tâche en arrière-plan ne sera pas inscrite avec les types de déclencheur non déclarés (la méthode Register échouera et lèvera une exception).

     

    Cet exemple de code indique que SystemEventTrigger est utilisé :

    
    <Task Type="systemEvent" />
    

    Remarque  Dans JavaScript, il n’est pas nécessaire (ni même possible) d’utiliser l’élément Executable. Tous les processus de travail en arrière plan JavaScript sont exécutés sur l’hôte système par défaut.

     

Étape 3: Ajouter des extensions de tâche en arrière-plan supplémentaires

Répétez l’étape 2 pour chaque classe de tâche en arrière-plan supplémentaire inscrite par votre application.

L’exemple suivant représente l’élément Application complet de l’exemple de tâche en arrière-plan. Il illustre l’utilisation de trois tâches en arrière-plan. Copiez la section Extensions de cet exemple et modifiez-la si nécessaire pour déclarer des tâches en arrière-plan dans le manifeste de l’application.

<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>

Rubriques associées

Déclarations des fonctionnalités d’application

Comment créer un manifeste de package manuellement

Comment inscrire une tâche en arrière-plan

Comment déboguer une tâche en arrière-plan

Recommandations et listes de contrôle concernant les tâches en arrière-plan