私は奇妙な問題を抱えています。天気情報に基づいて、BackgroundTask でライブ タイル画像を生成します。画像が生成されているのに、タイルには背景色のみが表示され、画像は表示されないことがあります (たとえば、タイルは緑または赤で、タイトルのみが表示されます)。
次に、ライブ タイルを削除してスタート画面に再度ピン留めすると、画像が表示されます。または、Windows Phone 8 でサイズを変更すると (小 => 中 => ワイド)、ライブ タイルに画像が表示されます。これは、Background イメージと BackBackground イメージで発生することがあります。電話を再起動したり、アプリを開いたりしても効果があるようです (ただし、100% ではありません)。
これは、Windows Phone OS の小さなバグのようです。何が問題なのですか?
これは私のコードです:
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);
それは機能しますが、誰かが何が問題だったのか知っていますか?