So wird’s gemacht: Deklarieren von Hintergrundaufgaben im Anwendungsmanifest (HTML)

[ Dieser Artikel richtet sich an Windows 8.x- und Windows Phone 8.x-Entwickler, die Windows-Runtime-Apps schreiben. Wenn Sie für Windows 10 entwickeln, finden Sie weitere Informationen unter neueste Dokumentation]

Sie können die Verwendung von Hintergrundaufgaben aktivieren, indem Sie diese im App-Manifest als Erweiterungen deklarieren. Jede Hintergrundaufgabe muss im Anwendungsmanifest als Erweiterung deklariert werden. Geschieht dies nicht, kann Ihre App die Hintergrundaufgaben nicht registrieren (eine Ausnahme wird ausgelöst). Zudem müssen Hintergrundaufgaben im Anwendungsmanifest deklariert werden, um zertifiziert zu werden.

Wissenswertes

Technologien

  • Manifest-Designer von Microsoft Visual Studio

Voraussetzungen

  • In diesem Thema wird davon ausgegangen, dass Sie eine oder mehrere Hintergrundaufgaben-Worker erstellt haben und dass Ihre App die Hintergrundaufgaben-Worker so registriert, dass sie als Reaktion auf einen oder mehrere Trigger ausgeführt werden.

Anweisungen

Schritt 1: Manuelles Hinzufügen von Erweiterungen

Öffnen Sie das Anwendungsmanifest, und wechseln Sie zum "Application"-Element. Erstellen Sie ein "Extensions"-Element (sofern nicht bereits eines vorhanden ist).

Der folgende Ausschnitt stammt aus dem Hintergrundaufgabenbeispiel:


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

Schritt 2: Hinzufügen einer Erweiterung für eine Hintergrundaufgabe

Deklarieren Sie Ihre erste Hintergrundaufgabe.

Kopieren Sie diesen Code in das "Extensions"-Element (Attribute werden in den folgenden Schritten hinzugefügt).


<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. Ändern Sie das EntryPoint-Attribut. Dieses muss die gleiche Zeichenfolge verwenden, die auch zum Registrieren der Hintergrundaufgabe (path.filename) verwendet wird.

    In diesem Beispiel ist "Tasks.SampleBackgroundTask" der Einstiegspunkt:

    
    <Extension Category="windows.backgroundTasks" StartPage="js\backgroundtask.js">
    
  2. Ändern Sie das Aufgabentypenattribut, um den für diese Hintergrundaufgabe verwendeten Typ der Aufgabenregistrierung anzugeben. Wenn die Hintergrundaufgabe mit mehreren Triggertypen registriert wird, fügen Sie für jeden Typ zusätzliche "Task"-Elemente mit "Type"-Attributen hinzu.

    Hinweis  Listen Sie alle verwendeten Triggertypen auf, da die Hintergrundaufgabe ansonsten die nicht deklarierten Triggertypen nicht registriert (bei der Register-Methode tritt ein Fehler auf und eine Ausnahme wird ausgelöst).

     

    Dieses Beispiel für einen Codeausschnitt gibt die Verwendung des Systemereignistriggers an:

    
    <Task Type="systemEvent" />
    

    Hinweis  Es ist in JavaScript nicht nötig (oder möglich), das Executable-Element zu verwenden. Alle JavaScript-Hintergrund-Worker werden in dem vom Host bereitgestellten Standardsystem ausgeführt.

     

Schritt 3: Hinzufügen von weiteren Hintergrundaufgabenerweiterungen

Wiederholen Sie Schritt 2 für alle weiteren, von Ihrer App registrierten Hintergrundaufgabenklassen.

Das folgende Beispiel zeigt das vollständige "Application"-Element aus dem Hintergrundaufgabenbeispiel: Hier wird die Verwendung von 3 Hintergrundaufgaben veranschaulicht. Kopieren Sie den Abschnitt "Extensions" aus diesem Beispiel, und ändern Sie ihn nach Bedarf, um Hintergrundaufgaben in Ihrem Anwendungsmanifest zu deklarieren.

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

Verwandte Themen

Deklaration der App-Funktionen

So wird's gemacht: Manuelles Erstellen eines Paketmanifests

So wird's gemacht: Registrieren einer Hintergrundaufgabe

So wird's gemacht: Debuggen einer Hintergrundaufgabe

Richtlinien und Prüflisten für Hintergrundaufgaben