Language: HTML | XAML

So wird’s gemacht: Verwenden des Wartungstriggers (XAML)

Applies to Windows and Windows Phone

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:

    
    
    uint waitIntervalMinutes = 60;
    
    MaintenanceTrigger taskTrigger = new MaintenanceTrigger(waitIntervalMinutes, false);
    
    

Schritt 2: (Optional) Hinzufügen einer Bedingung

  • Erstellen Sie bei Bedarf eine Hintergrundaufgabenbedingung, 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 InternetAvailable festgelegt, damit die Wartung ausgeführt wird, wenn das Internet verfügbar ist (oder wenn das Internet verfügbar wird). Eine Liste der möglichen Hintergrundaufgabenbedingungen finden Sie unter SystemConditionType.

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

    
    SystemCondition exampleCondition = new SystemCondition(SystemConditionType.InternetAvailable);
    
    

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

    
    string entryPoint = "Tasks.ExampleBackgroundTaskClass";
    string taskName   = "Maintenance background task example";
    
    BackgroundTaskRegistration task = RegisterBackgroundTask(entryPoint, taskName, taskTrigger, exampleCondition);
    
    

    • Applies to Windows Phone

    Unter Windows Phone 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.

    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 App-Manifest
How to debug a background task
Richtlinien und Prüflisten für Hintergrundaufgaben

 

 

Anzeigen:
© 2014 Microsoft