处理来自后台任务 (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");
}
}
相关主题
路线图
任务
参考
其他资源