如何在程序未运行时更新实时磁贴?

时间:2012-03-14 12:03:38

标签: c# windows-phone-7

我一直在挣扎几天。我正在制作一个本地天气应用程序,我希望该图块显示图像(weathericon)和文本(地点名称+温度)。

在代码中你可以这样做:

ShellTile firstTile = ShellTile.ActiveTiles.First();
var newData = new StandardTileData()
{
    Title = "Placename, 50F",
    BackgroundImage = new Uri("background.png", UriKind.Relative),
};

// Update the default tile
firstTile.Update(newData);

但是,如果应用程序没有运行,你怎么做呢,所以我不必打开应用程序来更新磁贴,但它自己完成。

1 个答案:

答案 0 :(得分:6)

您需要设置BackgroundAgent才能执行此操作。 Jeff Blankenburg在http://www.jeffblankenburg.com/2011/11/25/31-days-of-mango-day-25-background-agents/

上有一个很好的教程

一些警告:

  • 您无法控制它何时运行。

  • 您的图片需要在外部托管(例如,不是应用的资源/内容)。 Ku6opr说,图像可以通过代码生成,并作为替代方式放入/Shared/ShellContent

  • 图片需要为173x173像素

  • 图片尺寸必须小于85K。

编辑:固定像素大小。是从记忆中走出来的,显然那些碎片是油炸的