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

Jas*_*n94 1 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);
Run Code Online (Sandbox Code Playgroud)

但是如何在应用程序未运行时执行此操作,因此我不必打开应用程序来更新磁贴,但它自己完成.

Rob*_*cus 6

您需要设置BackgroundAgent才能执行此操作.Jeff Blankenburg在http://www.jeffblankenburg.com/2011/11/25/31-days-of-mango-day-25-background-agents/上有一个很好的教程.

一些警告:

  • 你无法控制它何时运行.

  • 您的图像需要在外部托管(例如,不是应用程序的资源/内容).Ku6opr说,图像可以通过代码生成,也可以/Shared/ShellContent作为替代.

  • 图像需要为173x173像素

  • 图像尺寸必须小于85K.

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