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