Обнаружить, что живая плитка выталкивается с сервера

Есть ли способ понять, что отображаемая в данный момент основная плитка была перемещена (обновлена) со стороны сервера?

Причина, по которой я спрашиваю: мое приложение может обновлять изображение плитки из фонового агента, и я хочу, чтобы изображение плитки не менялось до тех пор, пока пользователь не откроет приложение.

PS. Я использовал рефлектор, чтобы понять реализацию тайлов, но не нашел ничего, что я мог бы потенциально использовать (отметка времени, любая информация об изображении, никаких других идентификаторов).

ИЗМЕНИТЬ

Я обнаружил, что отправленное изображение плитки хранится в формате png в системной папке Applications\Data{appguid}\Data\ShellContent. Корневая папка изолированного хранилища — Applications\Data{appguid}\Data\IsolatedStore. Поэтому я попытался получить доступ к этой папке из корневого каталога iso, используя «..\ShellContent», но получил исключение «Операция не разрешена». "..\IsolatedStore" работает.


person Sergei Grebnov    schedule 16.08.2012    source источник


Ответы (1)


Я ничего не делал с живыми тайлами, обновляемыми с сервера (я использую для себя фоновый агент), но я предлагаю установить флаг в IsolatedStorage во время процесса обновления, и ваш фоновый агент будет проверять этот флаг.

person Rich Hopkins    schedule 17.08.2012
comment
Спасибо, Рич, но как я могу определить «процесс обновления»? Никакие события не запускаются при нажатии плитки, я не могу добавить свою пользовательскую логику, когда это происходит - person Sergei Grebnov; 18.08.2012
comment
Хорошо, извините, я не знаком с push-обновлениями, поэтому предположил, что будет запущено событие и запущен метод. - person Rich Hopkins; 18.08.2012