我还没有使用后台代理更新LiveTiles。我更新应用程序退出时的磁贴,并在Application_Deactivated
上更新。在Application_Deactivated上更新LiveTile是一种很好的做法吗?
private void Application_Deactivated(object sender, DeactivatedEventArgs e)
{
CycleManager pCycMan = CycleManager.Instance;
pCycMan.WriteToIsolatedStorage();
ResourceManager resMan = new ResourceManager("xxx.AppResources", Assembly.GetExecutingAssembly());
ShellTile PrimaryTile = ShellTile.ActiveTiles.First();
StandardTileData tile = new StandardTileData();
try
{
if (PrimaryTile != null)
{
tile.BackTitle = resMan.GetString("liveTileTitle");
tile.BackBackgroundImage = new Uri("/Background.png", UriKind.Relative);
if (pCycMan.GetStartDate() == pCycMan.GetDefaultDate())
{
tile.Title = resMan.GetString("liveTileNotTrackingStatus");
}
else
{
tile.Title = m_liveTileText;
}
PrimaryTile.Update(tile);
}
}
catch(Exception)
{
}
}
这样做是一个很好的做法吗?该应用程序已发布,并且我收到了带有COMException的StackTrace。它表明在执行Microsoft.Phone.Shell.ShellTile.Update
后引发的例外是XXX.App.Application_Deactivated
有没有人知道这个例外或面临这种情况?如果有人能指导我,这将是非常有帮助的。