我有一个奇怪的问题。我根据天气信息在 BackgroundTask 中生成我的动态平铺图像。有时我看到正在生成图像,但图块仅显示其背景颜色而不显示图像(例如,图块是绿色或红色,并且仅显示标题)。
然后,当我移除活动磁贴并将其重新固定到图像确实显示的开始屏幕时。或者,在 Windows Phone 8 上,当我更改大小(小 => 中 => 宽)时,动态磁贴可以很好地显示图像。它有时会发生在背景图像和背景图像上。即使重新启动手机或打开应用程序似乎也有帮助(但不是 100%)。
这似乎是 Windows Phone 操作系统中的一个小错误。可能是什么问题呢?
这是我的代码:
using (IsolatedStorageFile ISF = IsolatedStorageFile.GetUserStoreForApplication())
{
using (IsolatedStorageFileStream imageStream = new IsolatedStorageFileStream("/Shared/ShellContent/Image.jpg", System.IO.FileMode.Create, ISF))
{
writeableTileFinal.SaveJpeg(imageStream, writeableTileFinal.PixelWidth, writeableTileFinal.PixelHeight, 0, 100);
}
}
ShellTile appTile = ShellTile.ActiveTiles.First();
if (appTile != null)
{
StandardTileData tileData = new StandardTileData()
{
Title = "Title",
BackContent = string.Empty,
BackTitle = string.Empty,
BackgroundImage = new Uri("isostore:/Shared/ShellContent/Image.jpg", UriKind.Absolute),
};
appTile.Update(tileData);
}
更新:
我似乎已经通过在磁贴更新之前使用 Thread.Sleep 修复了它(之后没有发生)。:
Thread.Sleep(2000);
appTile.Update(tileData);
它有效,但有人知道可能是什么问题吗?