So wird’s gemacht: Abrufen einer Liste mit ausstehenden Hintergrundaufgaben (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]

Erfahren Sie, wie Sie eine Liste der Hintergrundaufgaben abrufen können, die zurzeit von Ihrer App registriert sind. Diese Liste beinhaltet Hintergrundaufgaben, die von der App im Rahmen früherer Sitzungen im Vordergrund registriert wurden. Überprüfen Sie die Liste, um sicherzustellen, dass ein und dieselbe Hintergrundaufgabe nicht mehrfach registriert wird. Weitere Infos finden Sie im Thema So wird's gemacht: Registrieren einer Hintergrundaufgabe.

Wissenswertes

Technologien

Voraussetzungen

Anweisungen

Schritt 1:

Die Liste mit den derzeit von der Anwendung registrierten Hintergrundaufgaben ist in der Windows.ApplicationModel.Background.BackgroundTaskRegistration.AllTasks-Eigenschaft gespeichert. Mit einer while-Schleife können Sie diese Liste durchlaufen und nach dem Namen der Hintergrundaufgabe suchen.

Im Hintergrundaufgabenbeispiel wird mit folgendem Code geprüft, ob die Hintergrundaufgabe "servicing-complete" bereits registriert ist, bevor ein Registrierungsversuch gestartet wird:

//
// Check whether the servicing-complete background task is already registered.
//
var iter = Windows.ApplicationModel.Background.BackgroundTaskRegistration.allTasks.first();
var hascur = iter.hasCurrent;
while (hascur) {
    var cur = iter.current.value;
    if (cur.name === BackgroundTaskSample.servicingCompleteTaskName) {
        BackgroundTaskSample.updateBackgroundTaskStatus(BackgroundTaskSample.servicingCompleteTaskName, true);
        return;
    }
    hascur = iter.moveNext();
}

Schritt 2:

Es ist wahrscheinlich, dass eine App, die Hintergrundaufgaben registriert, Registrierungen in mehr als einer Situation nachschlägt. Sie können diese Aufgabe vereinfachen, indem Sie eine Funktion erstellen, die eine Hintergrundaufgabe anhand ihres Namens sucht. Wenn diese Funktion die Aufgabe nicht findet, gibt sie null zurück, sodass die App beispielsweise bestimmen kann, ob die Aufgabe registriert werden soll.

Sie können die folgende Funktion in Ihrer App verwenden:

// 
// Check for a registration of the named background task. If one exists,
// return it.
// 
function FindTask(taskName) {

    var taskRegistered = false;

    var background = Windows.ApplicationModel.Background;
    var iter = background.BackgroundTaskRegistration.allTasks.first();
    var hascur = iter.hasCurrent;

    while (hascur) {
        var cur = iter.current.value;

        if (cur.name === taskName) {

            // 
            // The task is registered, return it.
            // 

            return cur;
        }

        hascur = iter.moveNext();
    }

    // 
    // The task was not found. Return null.
    // 
    return null;
}

Verwandte Themen

Schnellstart: Erstellen und Registrieren einer Hintergrundaufgabe

So wird's gemacht: Registrieren einer Hintergrundaufgabe

So wird's gemacht: Behandeln einer abgebrochenen Hintergrundaufgabe

So wird's gemacht: Überwachen des Status und Abschlusses von Hintergrundaufgaben

So wird's gemacht: Deklarieren von Hintergrundaufgaben im Anwendungsmanifest

So wird's gemacht: Debuggen einer Hintergrundaufgabe

Richtlinien und Prüflisten für Hintergrundaufgaben