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