3

我正在尝试在 Windows 8 上经常更新动态磁贴,即使应用程序本身没有运行,我也需要这样做。此 MSDN 页面上列出的通知选项都不合适,我想轮询 CPU 温度等不适合列出的通知样式的系统信息。

我在 StackOverflow 上查看了其他地方并看到了类似的问题,但对于 Windows Phone 7 using background workers。对我来说,使用后台工作人员似乎也是正确的答案。但是,像上一篇教程一样,侧重于 Windows Phone 7,但情况略有不同,例如,Visual Studio 2012 Ultimate 中的 Windows 应用商店模板没有用于计划任务代理的 C# 模板。

所以我的问题是,当应用程序本身没有运行时,我们如何为 Windows 8 应用程序设置后台工作人员以执行实时磁贴更新?

4

2 回答 2

3

您可以在此处阅读有关后台任务的信息;在这里阅读 TimeTrigger ,在操作后台任务的 OnCompleted 方法中,我们可以设置 LiveTile

    void OnCompleted(BackgroundTaskRegistration sender, BackgroundTaskCompletedEventArgs args)
    { 
      var tile = CreateNotification(String.Format(@"<tile>
      <visual>
        <binding template=""TileSquareText04"">
          <text id=""1"">{0}</text>
          <text id=""2""></text>
        </binding> 
        <binding template=""TileSquareText02"">
          <text id=""1"">{0}</text>
          <text id=""2""></text>
        </binding>  
      </visual>
    </tile>", DateTime.Now.ToString("hh:mm:ss")));
     TileUpdateManager.CreateTileUpdaterForApplication().Update(tile);
     }
    private TileNotification CreateNotification(string xml)
    {
        var xmlDocument = new XmlDocument();
        xmlDocument.LoadXml(xml);
        return new TileNotification(xmlDocument);
    }
于 2012-12-05T11:39:00.830 回答
1

查看白皮书:后台任务简介;在这与你已经学习和研究过的瓷砖之间,你应该能够把一些东西放在一起。

于 2012-09-23T06:25:32.270 回答