使用 Lumia 920,看起来我的 OnInvoke 甚至在调试模式下也从未被调用过。调用从 ScheduledTaskAgent 继承的 ScheduledAgent 的构造函数。这意味着 WMAppManifest.xml 中的设置是正确的。
<Tasks>
<DefaultTask Name="_default" NavigationPage="MainPage.xaml" />
<ExtendedTask Name="BackgroundTask">
<BackgroundServiceAgent Specifier="ScheduledTaskAgent" Name="PeriodicAgent" Source="ScheduledPlaybackAgent" Type="ScheduledPlaybackAgent.ScheduledAgent" />
</ExtendedTask>
</Tasks>
然后我几乎从示例代码中复制了:
private void StartPeriodicAgent()
{
// Obtain a reference to the period task, if one exists
periodicTask = ScheduledActionService.Find(periodicTaskName) as PeriodicTask;
if (periodicTask != null)
{
RemoveAgent(periodicTaskName);
}
periodicTask = new PeriodicTask(periodicTaskName);
periodicTask.Description = "This demonstrates a periodic task.";
try
{
ScheduledActionService.Add(periodicTask);
}
catch (InvalidOperationException exception)
{
}
catch (SchedulerServiceException)
{
}
}
在前台应用程序启动并尽可能多地等待后,我故意切换到主屏幕。我的 ScheduledAgent::OnInvoke 仍然没有输出或断点
谢谢!