1

如此处所述:

看来a background task will only run using a TimeTrigger if the user has placed your app on the lock screen

那么,如何在Calendar没有后台任务的情况下创建类似的应用程序?我的意思是一个应用程序:

  1. 定期更新其磁贴(例如,每天一次)?
  2. 即使它没有运行,它也会更新它的磁贴?
4

2 回答 2

2

您应该创建一个维护触发器。这些触发器只会每两小时触发一次,并且只有在机器使用交流电源时才会触发。当您的触发器运行时,您可以查找即将到来的约会并创建预定的 Toast 通知。

var scheduledToast = new Windows.UI.Notifications.ScheduledToastNotification(toastXml, startTime);

您也可以使用 ScheduledTileNotifcation() 调用来更新磁贴。不幸的是,我认为没有办法删除通知,因此如果用户在预定通知之前删除约会,我认为您无法删除它。我正在深入研究,如果我找到答案,我会在这里发表评论。

但是,我认为对于日历应用程序,您会希望它使用 TimeTrigger 并放置在锁定屏幕上,因为我希望随时接收约会提醒,无论是否插入。

您是否有不想使用 TimeTrigger 的原因?

于 2012-08-19T18:53:36.020 回答
1

您可以安排应用程序磁贴的定期更新,而无需在开始屏幕上。有关通知传递方法,请参阅这篇文章。然后,一旦启动应用程序,您通常可以更新日历。

于 2012-08-20T01:27:01.483 回答