如何在Windows 8中在后台更新我的磁贴?

时间:2012-09-25 21:14:19

标签: c# xaml microsoft-metro

如果我的应用未在前台运行,如何在后台更新我的图块?我试着查看推送通知,但我认为这不会让我到处都是。

从哪里开始?我知道如何创建瓷砖。

4 个答案:

答案 0 :(得分:2)

应用无法至少运行一次就无法更新它的磁贴。由于应用程序不会在安装时立即运行,因此无法在启动之前将其设置为“实时”。安装应用程序后,用户需要启动应用程序,以便设置并开始接收任何形式的更新(无论是推送通知,定期更新,预定通知还是使用或不使用后台任务引发的本地通知)。默认磁贴将从用户安装应用程序的点开始显示,直到应用程序设置磁贴更新为止。

MSDN有一篇关于选择正确的通知传递机制的文章很好,该机制也链接到相关的代码示例: http://msdn.microsoft.com/en-us/library/windows/apps/hh779721.aspx

答案 1 :(得分:1)

您必须使用TileNotification命名空间中的Windows.UI.Notifications。命名空间的文档是here

还有一个示例股票应用使用通知here(搜索“平铺和通知”)

此外,还有一个“App tiles and badges”示例,其中显示了实时图块的文本和图像更新。

答案 2 :(得分:1)

据我所知,你必须使用后台任务。如果用户没有运行一次应用程序,则无法显示任何交互式图块数据。

答案 3 :(得分:0)

使用c#代码将Live tile添加到桌面:

List<Uri> StoryUrls = new List<Uri>();
        StoryUrls .Add(new Uri("tiles.xml"));

        TileUpdateManager.CreateTileUpdaterForApplication().EnableNotificationQueue(true);
        TileUpdateManager.CreateTileUpdaterForApplication().Clear();
        TileUpdateManager.CreateTileUpdaterForApplication().StartPeriodicUpdateBatch(StoryUrls, PeriodicUpdateRecurrence.HalfHour);

xml应采用以下格式:

  • tiles.xml应遵循步骤5 Here
  • 中的microsoft format show

希望这有帮助