[英]Windows store app 8.1 - Background Task not triggered
我是Windows Store App的新手,我正在尝试使用后台任务。
我以这种方式在按钮单击事件上注册它:var builder = new BackgroundTaskBuilder();
builder.Name = "bikePositionUpdate";
builder.TaskEntryPoint = "BackgroundTaskGps.BikeGPSPositionUpdateBackgroundTask";
builder.SetTrigger(new TimeTrigger(15, false)); //
BackgroundTaskRegistration taskRegistration = builder.Register();
因此,它应该在15'内发射。
这是我的任务:
namespace BackgroundTaskGps
{
public sealed class BikeGPSPositionUpdateBackgroundTask : IBackgroundTask
{
public void Run(IBackgroundTaskInstance taskInstance)
{
Debug.WriteLine("run run run");
}
}
}
这是我的清单
...
<Extensions>
<Extension Category="windows.backgroundTasks" EntryPoint="BackgroundTaskGps.BikeGPSPositionUpdateBackgroundTask">
<BackgroundTasks>
<Task Type="timer" />
</BackgroundTasks>
</Extension>
</Extensions>
...
但是运行方法永远不会受到打击。
请问我可能是什么问题?
PS:我正在本地计算机(同一台开发PC)上测试我的应用程序。
请考虑我不是在谈论Windows Phone App,而是Windows App
对于Windows Phone,您必须调用此
await BackgroundExecutionManager.RequestAccessAsync();
所以完整的代码是
await BackgroundExecutionManager.RequestAccessAsync();
builder.Name = "bikePositionUpdate";
builder.TaskEntryPoint = "BackgroundTaskGps.BikeGPSPositionUpdateBackgroundTask";
builder.SetTrigger(new TimeTrigger(15, false)); //For Windows Phone 8.1 minimum is 15 minutes
BackgroundTaskRegistration taskRegistration = builder.Register();
您正在使用TimeTrigger Task来响应Trigger(fire)。 TimeTrigger Task之间的最短时间必须为30分钟。 因此,您可以每30分钟执行一次后台任务。 它类似于Windows 8中的周期触发器。因此,更新后的代码行将为:
builder.SetTrigger(new TimeTrigger(30, false));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.