Language: HTML | XAML

So wird’s gemacht: Reagieren auf Systemereignisse mit Hintergrundaufgaben (XAML)

Applies to Windows and Windows Phone

Hier erfahren Sie, wie Sie eine Hintergrundaufgabe erstellen können, die auf SystemTrigger-Ereignisse reagiert.

Wissenswertes

Technologien

Voraussetzungen

  • Dieses Thema setzt voraus, dass Sie für Ihre App eine Hintergrundaufgabenklasse geschrieben haben und dass diese Aufgabe als Reaktion auf ein vom System ausgelöstes Ereignis ausgeführt werden muss, z. B. wenn das Internet verfügbar wird oder sich der Benutzer anmeldet. Ihre App muss sich nicht auf dem Sperrbildschirm befinden, um Hintergrundaufgaben auszuführen, die mit der SystemTrigger-Klasse und der MaintenanceTrigger-Klasse registriert wurden. Der Schwerpunkt dieses Themas liegt auf der SystemTrigger-Klasse. Weitere Infos zum Schreiben einer Hintergrundaufgabenklasse finden Sie unter Schnellstart: Erstellen und Registrieren einer Hintergrundaufgabe.

Anweisungen

Schritt 1: Erstellen eines SystemTrigger-Objekts

  • Erstellen Sie in Ihrem App-Code ein neues SystemTrigger-Objekt. triggerType ist der erste Parameter und gibt den Typ des Systemereugnistriggers zur Aktivierung der Hintergrundaufgabe an. Eine Liste mit Ereignistypen finden Sie unter SystemTriggerType.

    Der zweite Parameter (OneShot) gibt an, ob die Hintergrundaufgabe ausgeführt wird, sobald das Systemereignis das nächste Mal eintritt und Hintergrundaufgaben auslöst, oder ob die Hintergrundaufgabe beim Auslösen des Systemereignisses immer ausgeführt wird, bis die Registrierung der Aufgabe aufgehoben wird.

    Der folgende Code gibt an, dass die Hintergrundaufgabe immer ausgeführt wird, wenn das Internet verfügbar wird:

    
    SystemTrigger internetTrigger = new SystemTrigger(SystemTriggerType.InternetAvailable, false);
    
    

Schritt 2:

  • Fügen Sie bei Bedarf eine Hintergrundaufgabenbedingung hinzu, um zu steuern, wann Ihre 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, damit die Hintergrundaufgabe nur ausgeführt wird, wenn der Benutzer das Gerät aktiv verwendet (oder wenn der Benutzer verfügbar ist). Eine Liste der möglichen Hintergrundaufgabenbedingungen finden Sie unter SystemConditionType.

    Der folgende Code fügt der Hintergrundaufgabe eine Bedingung hinzu:

    
    SystemCondition exampleCondition = new SystemCondition(SystemConditionType.UserPresent);
    
    

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:

    
    string entryPoint = "Tasks.ExampleBackgroundTaskClass";
    string taskName   = "Internet-based background task";
    
    BackgroundTaskRegistration task = RegisterBackgroundTask(entryPoint, taskName, internetTrigger, 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

Laden Sie das Hintergrundaufgabenbeispiel herunter, um die Registrierung der Hintergrundaufgabe in Aktion zu sehen.

Hintergrundaufgaben können als Reaktion auf die Ereignisse SystemTrigger und MaintenanceTrigger ausgeführt werden, ohne auf dem Sperrbildschirm platziert zu werden. Dennoch ist das Deklarieren von Hintergrundaufgaben im App-Manifest erforderlich. Unter Windows Phone müssen Sie vor dem Registrieren einer Hintergrundaufgabe auch RequestAccessAsync aufrufen.

Sperrbildschirmfähige Apps können Hintergrundaufgaben registrieren, die auf die Ereignisse TimeTrigger, PushNotificationTrigger und NetworkOperatorNotificationTrigger reagieren. So können die Apps eine Echtzeitkommunikation mit dem Benutzer bereitstellen, auch wenn die App sich nicht im Vordergrund befindet. Weitere Informationen finden Sie unter Unterstützen der App mit Hintergrundaufgaben.

Verwandte Themen

Schnellstart: Erstellen und Registrieren einer Hintergrundaufgabe
So wird's gemacht: Registrieren einer Hintergrundaufgabe
So wird's gemacht: Festlegen von Bedingungen für die Ausführung einer Hintergrundaufgabe
So wird's gemacht: Verwenden von Wartungsauslösern
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