什么可以阻止ScheduledTaskAgent多次触发OnInvoke?

时间:2014-04-01 19:19:18

标签: windows-phone-8 background-agents

我已经设置了 ScheduledTaskAgent ,其中包含 LaunchForTest (我知道正在调用它)。当我启动主应用程序时,似乎成功添加了任务并且 OnInvoke 运行完成(调用 NotifyComplete ),但似乎再也没有运行。我已经减少 OnInvoke 除了调用 NotifyComplete 之外什么都不做,但它仍然只运行一次 ScheduledActionService.Add ScheduledActionService.LaunchForTest (有几秒钟的延迟)。

什么可能阻止它多次运行?

2 个答案:

答案 0 :(得分:0)

我假设它是关于PeriodicTask。

你是对的。它将只运行一次,这是因为LaunchForTest调用,其中您指定了时间跨度。执行完毕后,您必须再等30分钟才能运行。

您是否在App.xaml.cs中添加了ScheduledActionService.Add?我的意思是,在发布会上?你应该。如果你有,那么你可以再次运行应用程序,它将调用任务代理。

答案 1 :(得分:0)

如果您正在击中断点,即使这意味着您已正确设置。您必须记住ScheduledActionService.LaunchForTest只是一个可以在调试器下调用的函数。应用程序发布后,它将无法运行。

基本上,没有办法解雇后台代理,你可以注册然后忘记它。 Windows Phone OS将定期调用它。

如果要多次调试周期性任务,可以将LaunchForTest置于延迟循环中。

相关问题