2014-09-24 58 views
0

在windows phone store中,有一个名为TimeMe Tile的应用程序,它可以每隔1分钟更新Tile上的当前时间,我很好奇它是如何实现的,据了解,后台任务的时间段为30分钟。如何实现可以每1分钟更新一次的平铺?

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

谢谢。

+0

该应用可能使用推送通知。确保一种方法是打开飞行模式并查看瓷砖是否更新。 – 2014-09-24 11:28:43

回答

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时间更频繁地包含该信息。