Как остановить расписание Live Tile после обновления - PullRequest
0 голосов
/ 27 декабря 2011

У меня есть приложение для Windows Phone 7, которое в настоящее время использует для обновления расписания живых плиток.

В новой версии приложения для обновления плиток используется фоновая задача.

Однако после обновления приложения на телефоне, если расписание плиток уже запущено на основной плитке, оно не прекращает обновление.

Мне нужно остановить расписание плиток, если оно запущено.

Создание нового расписания и его остановка не работают:

var t = new ShellTileSchedule()
                {
                    MaxUpdateCount = 1,
                    Recurrence = UpdateRecurrence.Onetime,
                    StartTime = DateTime.Now,
                    RemoteImageUri = new Uri("http://mysite.com/livetile.png"),
                };
t.Start();
t.Stop();

Создание нового расписания на основной плитке в Active Tiles не работает:

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

Ответы [ 2 ]

2 голосов
/ 27 декабря 2011

Поскольку у вас может быть только один ShellTileSchedule на приложение, создание нового, его запуск и остановка должны удалить старый и, конечно, остановить только что созданный вами.

(Почему ты не попробовал, прежде чем спросить?)

1 голос
/ 08 января 2012

Прежде всего, возникает ли эта проблема в приложении, которое фактически развернуто на рынке? (под этим я подразумеваю, развернуто ли обновление?) Если это не так, это может быть связано с тем, как работает фактическое развертывание приложений разработчика на телефоне.

Вот некоторые другие предложения, я не проверял ни одного из них: - Вы пытались удалить из своего приложения? Это требуется для ShellTileSchedule, поэтому удаление может помешать его работе? Это, вероятно, произойдет автоматически при отправке этого приложения через торговую площадку, но для тестирования вы можете попробовать его. - ShellTileScheduel может быть отменен в случае сбоя. Если возможно, вы можете попытаться удалить файл PNG, который находится в RemoteImageUri. Или заполните его поврежденными данными, чтобы испортить ShellTileSchedule. Я знаю, что это не красиво, но это может сработать. - Вы пытались заменить ShellTileSchedule на тот, который не повторяется бесконечно? Просто заставьте его выполнить (в последний раз), а затем он завершится.

Удачи вам, пожалуйста, дайте нам знать, если и как вы исправили.

...