Geofence windows phone 8.1中触发后台任务的阈值距离
Posted
技术标签:
【中文标题】Geofence windows phone 8.1中触发后台任务的阈值距离【英文标题】:Threshold distance for triggering background task in Geofence windows phone 8.1 【发布时间】:2016-06-23 06:18:25 【问题描述】:我有一个后台任务,它应该在位置发生一些变化时触发,因为它是使用 Geofence 触发器设置的。
builder.SetTrigger(new LocationTrigger(LocationTriggerType.Geofence));
private static async Task<string> LocationUpdateHelper()
try
var taskRegistered = false;
string myTaskName = "LocationUpdateTask";
foreach (var cur in BackgroundTaskRegistration.AllTasks)
if (cur.Value.Name == myTaskName)
taskRegistered = true;
break;
if (taskRegistered != true)
await BackgroundExecutionManager.RequestAccessAsync();
var builder = new BackgroundTaskBuilder();
builder.Name = "LocationUpdateTask";
builder.TaskEntryPoint = "SmartRuntimes.LocationUpdateTask";
builder.SetTrigger(new LocationTrigger(LocationTriggerType.Geofence));
try
builder.Register();
Debug.WriteLine("GeoFence Task Registered");
catch (Exception ex)
Debug.WriteLine("GeoFence Task Failed : " + ex.Message.ToString());
return "success";
catch (Exception ex)
return "";
而 LocationUpdateTask 类是:
public sealed class LocationUpdateTask : IBackgroundTask
public async void Run(IBackgroundTaskInstance taskInstance)
string taskName = taskInstance.Task.Name;
var deferral = taskInstance.GetDeferral();
await BackgroundTaskHelper.UpdateLocation();
deferral.Complete();
我的问题是:
这个后台任务会在位置发生变化时触发吗? 触发该后台任务需要更改多少距离?谢谢!
【问题讨论】:
【参考方案1】:很遗憾,Windows Phone 8.1 不支持后台连续跟踪。如果您想要此功能,则必须改为开发 Windows Phone 8 应用程序。希望他们能在 8.2、9 或接下来的任何版本中解决这个问题!
如果想了解更多后台任务检查here
也检查一下here
【讨论】:
以上是关于Geofence windows phone 8.1中触发后台任务的阈值距离的主要内容,如果未能解决你的问题,请参考以下文章
windows phone 8 和 10 的 windows phone 应用程序开发
Windows Phone 8 与 windows 8 开发技术概览
Windows Phone 8 与 windows 8 开发技术概览
xml 适用于Windows 8.1和Windows Phone 8.1应用程序的扩展器控件演示。