Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Живая плитка не обновляется в Windows Phone

Автор вопроса: MahenderОтветов: 3

Я разрабатываю приложение для Windows Phone, в котором приложение имеет возможность прикрепить приложение к домашнему экрану. И я использую класс ShellTileSchedule для периодического планирования обновления. По какой-то причине мое приложение не обновляет плитку. Данные моего приложения полностью локальны, никакие данные не поступают извне.

В моем обновлении плитки я не обновляю никакое изображение в лиле, а только изменяю отображаемые данные.

 foreach (ShellTile tile in ShellTile.ActiveTiles)
 {
            IconicTileData tileData = GetTileData();

            tileSchedule = new ShellTileSchedule(tile, tileData);
            tileSchedule.Interval = UpdateInterval.EveryHour;
            tileSchedule.Recurrence = UpdateRecurrence.Interval;
            tileSchedule.Count=GetUserData();
            tileSchedule.StartTime = DateTime.Now;
            tileSchedule.Start();

            tile.Update(tileData);
}

Любая помощь в этом отношении? Или мне нужен фоновый агент для обновления плитки?

  • Учитывая, что интервал составляет час, я надеюсь, вы знаете, что обновления не будут отправляться раньше, чем через 60 минут после запуска кода. Claus Jørgensen 08.11.2012
  • да, я в курсе этого. Я пробовал, но обновления никогда не выдвигались. Mahender 08.11.2012
  • Почему бы вам не использовать Cycle Tile Template - msdn.microsoft.com/en-us/library/windowsphone/develop/ [Он будет переключаться между 1 и 9 изображениями] Angshuman Agarwal 15.11.2012
  • @AngshumanAgarwal спасибо, я рассматривал этот вариант. Но я не нажимаю и не показываю какие-либо изображения, как я упоминал в вопросе, в прямом эфире, кроме значка приложения. Mahender 16.11.2012
  • Может быть, вы можете посмотреть это видео о сборке 2012 на Windows Phone 8: Tiles, Lock Screen, and Notifications - channel9.msdn .com/Events/Build/2012/2-019. Весь исходный код доступен здесь для настройки - blogs.msdn.com/b/tfennel/archive/2012/11/13/ Angshuman Agarwal 16.11.2012
  • спасибо @AngshumanAgarwal, это хороший источник, рассмотрю этот пример. Mahender 17.11.2012

windows-phone-8

Ответы

Ответ 1 · рейтинг 6 · robertk

ShellTileSchedule может извлекать изображения только из Интернета, а не с самого телефона. Это одно из ограничений ShellTileSchedule. Если вы хотите установить фоновые изображения для ресурсов на телефоне, рассмотрите вместо этого использование push-уведомлений.

Источник: http://www.silverlightshow.net/news/WP7-Using-ShellTileSchedule-to-update-your-app-s-Live-Tile-background.aspx

Ответ 2 · рейтинг 1 · JustinAngel

Разве вы не должны где-то устанавливать ShellTileSchedule.RemoteImageUri? Я имею в виду, что именно для этого существует ShellTileSchedule, чтобы регулярно обновлять изображение плитки с удаленного Uri... См. пример использования этого класса для вторичных плиток здесь.

Ответ 3 · Martin Suchan

Вы должны заполнить свойства IconicTileData. В вашем образце вы просто создаете пустую структуру данных и используете ее для расписания, это не сработает. Я использую это так:

IconicTileData newTileData = new IconicTileData
{
    Title = SharedResources.AppName,
    Count = BatteryHelper.BateryLevel,
    SmallIconImage = new Uri(@"/Assets/IconicSmall.png", UriKind.Relative),
    IconImage = new Uri(@"/Assets/IconicMedium.png", UriKind.Relative),
};

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы