我有一个Windows Phone 7应用程序,目前使用Live Tile计划进行更新。
新版本的应用程序使用后台任务来更新切片。
然而,在手机上升级应用程序后,如果主要磁贴上已经运行了磁贴调度,则它不会停止更新。
如果正在运行,我需要停止磁贴计划。
创建新计划并停止它不起作用:
var t = new ShellTileSchedule()
{
MaxUpdateCount = 1,
Recurrence = UpdateRecurrence.Onetime,
StartTime = DateTime.Now,
RemoteImageUri = new Uri("http://mysite.com/livetile.png"),
};
t.Start();
t.Stop();
在活动磁贴中的主磁贴上创建新计划不起作用:
ShellTile mainTile = ShellTile.ActiveTiles.FirstOrDefault();
t = new ShellTileSchedule(mainTile)
{
MaxUpdateCount = 1,
Recurrence = UpdateRecurrence.Onetime,
StartTime = DateTime.Now,
RemoteImageUri = new Uri("http://mysite.com/livetile.png")
};
t.Start();
t.Stop();
答案 0 :(得分:2)
由于每个应用程序只能有一个ShellTileSchedule
,创建一个新应用程序,启动它,然后停止它,应该删除旧的应用程序,当然也要停止你刚创建的应用程序。
(为什么你在问之前没试过?)
答案 1 :(得分:1)
首先,这个问题是在实际部署到市场的应用程序中发生的吗? (我的意思是,是否部署了更新?)如果不是这可能与开发者应用程序实际部署到手机的方式有关。
以下是其他一些建议,我没有测试过任何建议: - 您是否尝试过从应用中删除?它是ShellTileSchedule所必需的,因此删除它可能会阻止它工作?这可能会在通过市场提交此应用程序时自动发生,但是对于测试,您可以尝试一下。 - 如果ShellTileScheduel失败,可以取消它。如果可能,您是否可以尝试删除RemoteImageUri中的PNG文件。或者用破碎的数据填充它以破坏ShellTileSchedule。我知道这不漂亮,但它可能会奏效。 - 您是否尝试将ShellTileSchedule替换为无法无限期重复使用的ShellTileSchedule?只需让它执行(最后一次)然后就完成了。
祝你好运,请告诉我们您是否以及如何修复。