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>
  1. 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">
    
  2. 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