创建一个Metro应用程序,可以定期更新,而不是锁定屏幕

时间:2012-08-19 18:09:52

标签: windows-8 microsoft-metro

如上所述here

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

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

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

2 个答案:

答案 0 :(得分:2)

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

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

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

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

您是否有理由不想使用TimeTrigger?

答案 1 :(得分:1)

您可以安排应用程序磁贴的定期更新,而无需在开始屏幕上。请参阅此文章了解Notification Delivery methods。然后,一旦启动应用程序,您就可以更新日历。