Behandeln von Geofence-Benachrichtigungen über eine Hintergrundaufgabe (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]
In diesem Thema werden Sie durch die Schritte zum Behandeln von Geofence-Benachrichtigungen über eine Hintergrundaufgabe in der App geführt.
Roadmap: Wie hängt dieses Thema mit anderen zusammen? Siehe:
Einführung
Nachdem Ihre Geofence-Bereiche erstellt wurden, müssen Sie die Logik für das Eintreten eines Geofence-Ereignisses hinzufügen. Je nach eingerichteten MonitoredStates können Sie in folgenden Fällen ein Ereignis empfangen:
- Der Benutzer hat eine Zielregion betreten.
- Der Benutzer hat eine Zielregion verlassen.
- Der Geofence-Bereich ist abgelaufen oder wurde entfernt. Beachten Sie, dass eine Hintergrund-App für ein Entfernungsereignis nicht aktiviert wird.
In diesem Thema wird beschrieben, wie Sie eine Geofence-Benachrichtigung behandeln, wenn eine Hintergrundaufgabe ausgelöst wurde. Dabei wird angenommen, dass Sie einen Hintergrund-Ereignislistener eingerichtet haben, wie unter Lauschen auf Geofence-Ereignisse im Hintergrund beschrieben. Sie können Ereignisse auch direkt über die App behandeln, wenn sie ausgeführt wird. Weitere Informationen finden Sie unter Behandeln von Geofence-Benachrichtigungen im Vordergrund und Richtlinien für Geofencing.
Behandeln der Hintergrundbenachrichtigung
Die Aktionen, die Sie zum Benachrichtigen der Benutzer durchführen, richten sich nach der Funktionsweise der App. Sie können jedoch beispielsweise eine Popupbenachrichtigung anzeigen, einen Ton wiedergeben oder eine Live-Kachel aktualisieren. Der folgende Code dient zum Behandeln der Benachrichtigung:
function onCompleted() {
try {
// Update the UI with the completion status of the background task
// The Run method of the background task sets the LocalSettings.
var settings = Windows.Storage.ApplicationData.current.localSettings;
// get status
if (settings.values.hasKey("Status")) {
WinJS.log && WinJS.log(settings.values["Status"].toString(), "sample", "status");
}
// do your apps work here
} catch (ex) {
// The background task had an error
WinJS.log && WinJS.log(ex.toString(), "sample", "error");
}
}
Verwandte Themen
Roadmaps
Roadmap für Apps mit JavaScript
Aufgaben
Einrichten von Geofence-Bereichen
Behandeln von Geofence-Benachrichtigungen im Vordergrund
Lauschen auf Geofence-Ereignisse im Hintergrund
Referenz
Weitere Ressourcen
Geolocation-Beispiel für Windows 10