0

我有一个 Windows Phone 7 应用程序,该应用程序当前使用 Live Tile Schedules 进行更新。

新版本的应用程序使用后台任务来更新磁贴。

但是,在手机上升级应用程序后,如果主磁贴上已运行磁贴计划,它不会停止更新。

如果瓷砖计划正在运行,我需要停止它。

创建新计划并停止它不起作用:

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();
4

2 回答 2

2

由于每个应用程序只能有一个ShellTileSchedule,创建一个新的,启动它,然后停止它,应该删除旧的,当然停止你刚刚创建的那个。

(为什么你在问之前不尝试?)

于 2011-12-27T16:48:39.540 回答
1

首先,这个问题是否发生在实际部署到市场的应用程序中?(我的意思是,更新是否已部署?)如果不是,这可能与将开发人员应用程序实际部署到手机的方式有关。

这里有一些其他的建议,我没有测试过任何一个: - 你试过从你的应用程序中删除吗?ShellTileSchedule 需要它,所以删除它可能会阻止它工作?通过市场提交此应用程序时,这可能会自动发生,但为了进行测试,您可以试一试。- 如果失败,可以取消 ShellTileScheduel。如果可能,您能否尝试删除 RemoteImageUri 中的 PNG 文件。或者用损坏的数据填充它以弄乱 ShellTileSchedule。我知道这并不漂亮,但它可能会奏效。- 您是否尝试过将 ShellTileSchedule 替换为不会无限期重复的?只需让它执行(最后一次),然后它就完成了。

祝你好运,请让我们知道你是否以及如何修复。

于 2012-01-07T23:59:34.893 回答