Обработка уведомлений геозоны из фоновой задачи (HTML)

[ Эта статья адресована разработчикам приложений среды выполнения Windows для Windows 8.x и Windows Phone 8.x. При разработке приложений для Windows 10 см. раздел последняя документация]

В этом разделе описывается пошаговая обработка уведомлений Geofence, поступающих от фоновых задач, в вашем приложении.

Схема создания: каким образом эта тема связана с другими? См.:

Введение

После создания геозон вам потребуется добавить логику для обработки действий при возникновении события геозоны. В зависимости от настройки элемента MonitoredStates вы можете получить событие, если:

  • пользователь вошел в отслеживаемую область;
  • пользователь покинул отслеживаемую область;
  • срок действия геозоны истек или она была удалена. Обратите внимание, что для события удаления фоновое приложение не активируется.

В этом разделе описывается, как обработать уведомление геозоны, если запущена фоновая задача. Подразумевается, что вы настроили прослушиватель фоновых событий, как описано в разделе Прослушивание событий геозоны в фоновом режиме. События также могут обрабатываться непосредственно в приложении, если оно запущено. Дополнительные сведения см. в разделах Обработка уведомлений геозоны на переднем плане и Руководство по настройке геозон.

Обработка фонового уведомления

Действия, выполняемые для уведомления пользователя, зависят от возможностей приложения. Вероятно, вы могли бы отобразить всплывающее уведомление, воспроизвести какой-нибудь звук или обновить живую плитку. Ниже приведен код для обработки уведомления.


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");
    }
}

Связанные разделы

Схемы создания

Схема создания приложений на JavaScript

Проектирование взаимодействия с пользователем в приложениях

Задачи

Настройка геозоны

Обработка уведомлений геозоны на переднем плане

Прослушивание событий геозоны в фоновом режиме

Справочные материалы

Geoshape

Geofence

Geolocator

Другие ресурсы

Пример определения географического положения в Windows 10

Пример определения географического положения в Windows 8.1

Руководство по настройке геозон