So wird’s gemacht: Verwenden des Wartungstriggers (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]

Hier erfahren Sie, wie Sie die MaintenanceTrigger-Klasse zum Ausführen von einfachem Code im Hintergrund verwenden, während das Gerät angeschlossen ist.

Wissenswertes

Technologien

Voraussetzungen

  • In diesem Beispiel wird davon ausgegangen, dass Sie über einfachen Code verfügen, den Sie im Hintergrund ausführen können, um Ihre App zu optimieren, wenn das Gerät angeschlossen ist. Das Thema behandelt schwerpunktmäßig die MaintenanceTrigger-Klasse, die insofern der SystemTrigger-Klasse ähnelt, als dass die App sich nicht auf dem Sperrbildschirm befinden muss, um eine MaintenanceTrigger-Hintergrundaufgabe zu registrieren. Weitere Infos zum Schreiben einer Hintergrundaufgabenklasse finden Sie unter Schnellstart: Erstellen und Registrieren einer Hintergrundaufgabe.

Anweisungen

Schritt 1: Erstellen eines MaintenanceTrigger-Objekts

Erstellen Sie ein neues MaintenanceTrigger-Objekt. Der zweite Parameter (OneShot) gibt an, ob die Wartungsaufgabe einmalig oder regelmäßig ausgeführt wird. Wenn OneShot auf "true" festgelegt wird, gibt der erste Parameter (FreshnessTime) die Anzahl der Minuten an, die gewartet werden soll, bevor die Hintergrundaufgabe geplant wird. Wenn OneShot auf "false" festgelegt wird, gibt FreshnessTime die Häufigkeit an, mit der die Hintergrundaufgabe ausgeführt wird.

Hinweis  Wenn FreshnessTime auf weniger als 15 Minuten festgelegt ist, wird bei einem Registrierungsversuch der Hintergrundaufgabe eine Ausnahme ausgelöst.

 

Dieser Beispielcode erstellt einen Auslöser, der einmal pro Stunde ausgeführt wird:

var waitIntervalMinutes = 60;

var taskTrigger = new Windows.ApplicationModel.Background.MaintenanceTrigger(waitIntervalMinutes, false);

Schritt 2: (Optional) Hinzufügen einer Bedingung

Fügen Sie bei Bedarf eine Hintergrundaufgabenbedingung hinzu, um zu steuern, wann die Aufgabe ausgeführt wird. Eine Bedingung sorgt dafür, dass die Hintergrundaufgabe erst ausgeführt wird, wenn die Bedingung erfüllt ist. Weitere Informationen finden Sie unter So wird's gemacht: Festlegen von Bedingungen für die Ausführung einer Hintergrundaufgabe.

In diesem Beispiel wird die Bedingung auf UserPresent festgelegt, sodass die Wartung ausgeführt wird, wenn der Benutzer aktiv ist (oder wenn der Benutzer aktiv wird). Eine Liste der möglichen Hintergrundaufgabenbedingungen finden Sie unter SystemConditionType.

Der folgende Code fügt dem Hintergrundaufgaben-Generator eine Bedingung hinzu:

var exampleCondition = new Windows.ApplicationModel.Background.SystemCondition(Windows.ApplicationModel.Background.SystemConditionType.UserAway);

Schritt 3: Registrieren der Hintergrundaufgabe

Registrieren Sie die Hintergrundaufgabe, indem Sie die Funktion zum Registrieren der Hintergrundaufgabe aufrufen. Weitere Informationen zum Registrieren von Hintergrundaufgaben finden Sie unter So wird's gemacht: Registrieren einer Hintergrundaufgabe.

Der folgende Code registriert die Hintergrundaufgabe:

var entryPoint = “js\\ExampleBackgroundTask.js”;
var taskName = “Maintenance background task example”;

var task = RegisterBackgroundTask(entryPoint, taskName, taskTrigger, exampleCondition);

Hinweis  

In Windows Phone Store-Apps müssen Sie RequestAccessAsync aufrufen, bevor Sie versuchen, Hintergrundaufgaben zu registrieren. Unter Windows ist dieser Aufruf nur für die Hintergrundaufgaben erforderlich, die nur ausgeführt werden können, wenn sich Ihre App auf dem Sperrbildschirm befindet. Auf dem Telefon müssen Sie diese Methode vor dem Registrieren einer Hintergrundaufgabe einmal aufrufen.

Um sicherzustellen, dass Ihre Windows Phone-App nach dem Freigeben eines Updates weiterhin ordnungsgemäß ausgeführt wird, rufen Sie RemoveAccess und RequestAccessAsync auf, wenn Ihre App nach dem Aktualisieren startet. Weitere Infos finden Sie unter Richtlinien für Hintergrundaufgaben (HTML).

Hinweis  

Ab Windows 8.1 werden Parameter für die Registrierung von Hintergrundaufgaben zum Zeitpunkt der Registrierung überprüft. Bei ungültigen Registrierungsparametern wird ein Fehler zurückgegeben. Ihre App muss Szenarios, in denen die Registrierung von Hintergrundaufgaben fehlschlägt, problemlos verarbeiten können. Verwenden Sie beispielsweise eine Bedingungsanweisung, um die App auf Registrierungsfehler zu prüfen, und führen Sie die fehlgeschlagene Registrierung mit anderen Parameterwerten erneut durch.

 

Anmerkungen

Ereignisse von Wartungsauslösern werden nur ausgelöst, wenn das Gerät angeschlossen ist.

Hinweis  Wenn das Gerät vom Netzstrom getrennt wird, werden alle derzeit ausgeführten Hintergrundaufgaben abgebrochen, die durch MaintenanceTrigger gestartet wurden (cancelReason = Abort). Wenn die Hintergrundaufgabe nicht innerhalb von 5 Sekunden abgebrochen wird, nachdem das Ereignis zum Abbrechen der Hintergrundaufgabe empfangen wurde, wird die Hintergrundaufgabe beendet. Weitere Infos finden Sie im Thema So wird's gemacht: Behandeln einer abgebrochenen Hintergrundaufgabe.

 

Verwandte Themen

Schnellstart: Erstellen und Registrieren einer Hintergrundaufgabe

So wird's gemacht: Registrieren einer Hintergrundaufgabe

So wird's gemacht: Reagieren auf Systemereignisse mit Hintergrundaufgaben

So wird's gemacht: Festlegen von Bedingungen für die Ausführung einer Hintergrundaufgabe

So wird's gemacht: Deklarieren von Hintergrundaufgaben im Anwendungsmanifest

So wird's gemacht: Debuggen einer Hintergrundaufgabe

Richtlinien und Prüflisten für Hintergrundaufgaben