Como declarar tarefas em segundo plano no manifesto do aplicativo (HTML)
[ Este artigo destina-se aos desenvolvedores do Windows 8.x e do Windows Phone 8.x que escrevem aplicativos do Windows Runtime. Se você estiver desenvolvendo para o Windows 10, consulte documentação mais recente]
Habilite o uso de tarefas em segundo plano declarando-as como extensões no manifesto do aplicativo. Cada tarefa em segundo plano deve ser declarada como uma extensão no manifesto do aplicativo. Sem isso, o aplicativo não poderá registrar as tarefas em segundo plano (uma exceção será gerada). Além disso, as tarefas em segundo plano devem ser declaradas no manifesto do aplicativo para passar certificação.
O que você precisa saber
Tecnologias
- Designer de Manifesto do Microsoft Visual Studio
Pré-requisitos
- Este tópico considera que você criou um ou mais trabalhos de tarefa em segundo plano e que o seu aplicativo registra cada trabalho de tarefa em segundo plano para responder a um ou mais gatilhos.
Instruções
Etapa 1: Adicione extensões manualmente
Abra o manifesto do aplicativo e vá para o elemento Application. Crie um elemento Extensions (caso não haja um).
O seguinte trecho é retirado do exemplo 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>
Etapa 2: Adicione uma extensão a uma tarefa em segundo plano
Declare sua primeira tarefa em segundo plano.
Copie o código no elemento Extensions (você adicionará atributos nas próximas etapas).
<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>
Altere o atributo EntryPoint para que ele tenha a mesma cadeia de caracteres usada para registrar sua tarefa em segundo plano (path.filename).
Neste exemplo, o ponto de entrada é Tasks.SampleBackgroundTask:
<Extension Category="windows.backgroundTasks" StartPage="js\backgroundtask.js">
Modifique o atributo Tipo de Tarefa para indicar o tipo do registro de tarefa usado com essa tarefa em segundo plano. Se a tarefa em segundo plano for registrada com vários tipos de gatilho, adicione outros elementos Task com atributos Type para cada um deles.
Observação Certifique-se de lista cada um dos tipos de gatilho que você está usado ou a tarefa em segundo plano não registrará com os tipos de gatilho não declarados (o método Register falhará e gerará uma exceção).
Este exemplo de trecho indica o uso do SystemEventTrigger:
<Task Type="systemEvent" />
Observação No JavaScript, não é necessário (ou mesmo aplicável) usar o elemento Executável. Todos os trabalhos em segundo plano do JavaScript são executados no host padrão fornecido pelo sistema.
Etapa 3: Adicionar outras extensões de tarefa em segundo plano
Repita a etapa 2 para cada classe adicional de tarefa em segundo plano registrada pelo aplicativo.
O exemplo a seguir mostra o elemento Application completo da amostra de tarefa em segundo plano. Isso mostra o uso de 3 tarefas em em segundo plano. Copie a seção Extensões desse exemplo e modifique-a conforme o necessário para declarar tarefas em segundo plano no manifesto do seu aplicativo.
<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>
Tópicos relacionados
Declarações de funcionalidade do aplicativo
Como criar um manifesto de pacote manualmente
Como registrar uma tarefa em segundo plano
Como depurar uma tarefa em segundo plano
Diretrizes e listas de verificação para tarefas em segundo plano