Behandeln von Geofence-Benachrichtigungen über eine Hintergrundaufgabe
Language: HTML | XAML

Behandeln von Geofence-Benachrichtigungen über eine Hintergrundaufgabe (XAML)

[ 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 Aktion, die Sie zum Benachrichtigen der Benutzer durchführen, richtet sich nach der Funktionsweise der App. Sie können aber z. B. eine Popupbenachrichtigung anzeigen, einen Ton wiedergeben oder eine Live-Kachel aktualisieren. Der folgende Code dient zum Behandeln der Benachrichtigung:


async private void OnCompleted(IBackgroundTaskRegistration sender, BackgroundTaskCompletedEventArgs e)
{
    if (sender != null)
    {
        // Update the UI with progress reported by the background task
        await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
        {
            try
            {
                // If the background task threw an exception, display the exception in
                // the error text box.
                e.CheckResult();

                // Update the UI with the completion status of the background task
                // The Run method of the background task sets the LocalSettings. 
                var settings = ApplicationData.Current.LocalSettings;

                // get status
                if (settings.Values.ContainsKey("Status"))
                {
                    rootPage.NotifyUser(settings.Values["Status"].ToString(), NotifyType.StatusMessage);
                }

                // do your apps work here

            }
            catch (Exception ex)
            {
                // The background task had an error
                rootPage.NotifyUser(ex.ToString(), NotifyType.ErrorMessage);
            }
        });
    }
}




Verwandte Themen

Aufgaben
Einrichten von Geofence-Bereichen
Behandeln von Geofence-Benachrichtigungen im Vordergrund
Lauschen auf Geofence-Ereignisse im Hintergrund
Weitere Ressourcen
Geolocation-Beispiel für Windows 10
Geolocation-Beispiel für Windows 8.1
Roadmap für Apps mit C# und Visual Basic
Roadmap für Apps mit C++
UX-Design für Apps
Richtlinien für Geofencing
Geoshape
Geofence
Geolocator

 

 

Anzeigen:
© 2017 Microsoft