Windows phone 7 升级后如何停止活动磁贴计划
我有一个Windows Phone 7应用程序,当前使用Live Tile时间表进行更新 新版本的应用程序使用后台任务更新互动程序 但是,在手机上升级应用程序后,如果主磁贴上已运行磁贴计划,则不会停止更新 如果磁砖计划正在运行,我需要停止它 创建新计划并停止它不起作用:Windows phone 7 升级后如何停止活动磁贴计划,windows-phone-7,live-tile,Windows Phone 7,Live Tile,我有一个Windows Phone 7应用程序,当前使用Live Tile时间表进行更新 新版本的应用程序使用后台任务更新互动程序 但是,在手机上升级应用程序后,如果主磁贴上已运行磁贴计划,则不会停止更新 如果磁砖计划正在运行,我需要停止它 创建新计划并停止它不起作用: var t = new ShellTileSchedule() { MaxUpdateCount = 1, Recu
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();
在活动磁贴中的主磁贴上创建新明细表无效:
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();
由于每个应用程序只能有一个
ShellTileSchedule
,因此创建一个新的应用程序,启动它,然后停止它,应该删除旧的应用程序,当然也应该停止刚刚创建的应用程序
(问之前为什么不试试?既然每个应用程序只能有一个
ShellTileSchedule
,创建一个新的,启动它,然后停止它,应该删除旧的,当然也应该停止刚刚创建的
(问之前为什么不试试?首先,这个问题是否发生在实际部署到市场的应用程序中?(我的意思是,是否部署了更新?) 以下是一些其他建议,我没有测试过其中任何一个: -您是否尝试过从应用程序中删除?ShellTileSchedule需要它,因此删除它可能会阻止它工作?这可能会在通过市场提交此应用程序时自动发生,但对于测试,您可以尝试一下。 -如果ShellTileScheduel失败,则可以取消它。如果可能,可以尝试删除RemoteImageUri中的PNG文件。或者用损坏的数据填充它,把外壳搞得一团糟。我知道这不太好,但可能有用。 -您是否尝试过将ShellTileSchedule替换为一个不会无限期重复的计划?只要让它执行(最后一次),然后它就完成了
祝您好运,请告诉我们您是否以及如何修复此问题。首先,此问题是否发生在实际部署到市场的应用程序中?(我的意思是,是否部署了更新?) 以下是一些其他建议,我没有测试过其中任何一个: -您是否尝试过从应用程序中删除?ShellTileSchedule需要它,因此删除它可能会阻止它工作?这可能会在通过市场提交此应用程序时自动发生,但对于测试,您可以尝试一下。 -如果ShellTileScheduel失败,则可以取消它。如果可能,可以尝试删除RemoteImageUri中的PNG文件。或者用损坏的数据填充它,把外壳搞得一团糟。我知道这不太好,但可能有用。 -您是否尝试过将ShellTileSchedule替换为一个不会无限期重复的计划?只要让它执行(最后一次),然后它就完成了
祝您好运,请告诉我们您是否修复了,以及如何修复。不尝试的两个原因。我认为应该有一个有正确答案的SO页面,因为我在MSDN上很难找到它,也因为我不想使用黑客,我想确保我使用了正确的方式MSDN澄清每页只能有一个
ShellTileSchedule
,所以:-)创建一个新的并停止它的解决方案似乎不起作用…?不尝试的两个原因。我认为应该有一个有正确答案的SO页面,因为我在MSDN上很难找到它,也因为我不想使用黑客,我想确保我使用了正确的方式MSDN澄清每页只能有一个ShellTileSchedule
,所以:-)创建一个新的并停止它的解决方案似乎不起作用…?谢谢Tom。一些很棒的想法,尽管很遗憾,我无法“搞糟”live tile,因为一旦新版本面市,它将打破所有没有更新到新版本的人(我将通过对live tile处理程序进行版本化来解决这个问题)。我也尝试过在没有任何运气的情况下开始一个单独的计划(在问题的代码中)。因此,我越来越沮丧。如果您还没有运行“清理、重建”,您可能正在使用VisualStudio在部署过程中执行的清单“更新”进行操作—这就是我测试更新的方式;通过在执行干净的重建后按顺序安装每个。嗯,我可以想到两个选项:-跟踪用户首次运行更新版本的时间,然后断开原始的实时磁贴-更新发布时,用“请更新”消息替换所有“旧”磁贴,并在一天左右后断开。该消息将保持可见,直到用户更新并且后台代理开始运行。两者都不理想,但不幸的是,这是我现在能想到的最好的。随时通知我们!谢谢你,汤姆。一些很棒的想法,尽管很遗憾,我无法“搞糟”live tile,因为一旦新版本面市,它将打破所有没有更新到新版本的人(我将通过对live tile处理程序进行版本化来解决这个问题)。我也尝试过在没有任何运气的情况下开始一个单独的计划(在问题的代码中)。因此,我越来越沮丧。如果您还没有运行“清理、重建”,您可能正在使用VisualStudio在部署过程中执行的清单“更新”进行操作—这就是我测试更新的方式;通过在执行干净的重建后按顺序安装每个。嗯,我可以想到两个选项:-跟踪用户首次运行更新版本的时间,然后断开原始的实时磁贴-更新发布时,用“请更新”消息替换所有“旧”磁贴,并在一天左右后断开。该消息将保持可见,直到用户更新并且后台代理开始运行。两者都不理想,但不幸的是,这是我现在能想到的最好的。随时通知我们!