如何实现可以每1分钟更新一次的Tile?

时间:2014-09-24 10:14:25

标签: windows-phone-8.1

在windows手机商店,有一个名为TimeMe Tile的应用程序,它可以每1分钟更新一次Tile上的当前时间,我很好奇它是如何实现的,据我所知,后台任务的时间是30分钟

以下是此应用的链接: http://www.windowsphone.com/zh-cn/store/app/timeme-tile/ef6099f2-41dd-4bad-9fa1-8f4143386194

谢谢。

1 个答案:

答案 0 :(得分:0)

如果您有可预测的磁贴信息(如时间),则可以使用ScheduledTileNotification类提前计划磁贴通知。即使应用程序本身未运行,计划通知也会触发。应用程序只需要运行(在前台或作为后台任务)来安排通知。

您可以安排磁贴更新下一个小时的每一分钟,如下所示:

int min = 0;
for(min=0;min<60;min++)
{    
    // Create a tile template with whatever we want to show
    XmlDocument tileXml = GenerateTileTemplate(min);
    // Schedule it for min minutes from now
    DateTime dueTime = DateTime.Now.AddMinutes(min);
    ScheduledTileNotification scheduledTile = new ScheduledTileNotification(tileXml, dueTime);
    TileUpdateManager.createTileUpdaterForApplication().AddToSchedule(scheduledTile);
}

有关更全面的示例,请参阅How to schedule a tile notification

如果磁贴需要更及时的数据无法预测,那么您需要从系统外推送通知,以便比应用程序获得CPU时间更频繁地包含该信息。 / p>