处理来自后台任务 (HTML) 的地理围栏通知

[ 本文适用于编写 Windows 运行时应用的 Windows 8.x 和 Windows Phone 8.x 开发人员。如果你要针对 Windows 10 进行开发,请参阅 最新文档 ]

本主题将指导你在应用中逐步处理来自后台任务的 Geofence 通知。

路线图: 本主题与其他主题有何关联?请参阅:

简介

在创建地理围栏后,你需要添加逻辑,以便处理当出现地理围栏事件时所发生的情况。 按照你设置的 MonitoredStates,你可能会在下列情况中收到事件:

  • 用户进入了关注的区域。
  • 用户离开了关注的区域。
  • 地理围栏过期或者已被删除。请注意,删除事件并不能激活后台应用。

本主题描述了在触发后台任务时如何处理地理围栏通知。 假设你已经按照侦听后台的地理围栏事件中描述的步骤,设置了后台事件侦听器。 当运行应用时,还可以直接通过应用处理事件。 有关详细信息,请参阅处理前台的地理围栏通知地理围栏指南

处理后台通知

应用的状态决定了通知用户时所要采取的具体措施,不过,你可以显示一个 Toast 通知、播放一段声音或者更新一个实时标题。 下面的代码显示了处理通知时的情况:


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 的应用的路线图

设计应用 UX

任务

设置地理围栏

处理前台的地理围栏通知

侦听后台的地理围栏事件

参考

Geoshape

Geofence

Geolocator

其他资源

Windows 10 地理位置示例

Windows 8.1 地理位置示例

地理围栏指南