我目前正在开发 HTML5/JavaScript 中的提要阅读器应用程序,但我遇到了动态磁贴问题。我有一个实时磁贴,它通过查询从博客返回最新 3 篇文章的 Web 服务定期更新。活动磁贴按预期工作,但我想创建一个显示未读文章的徽章通知。
我想这样做的方法是查看磁贴是否更新,然后从徽章通知中增加数字。当用户启动应用程序时,徽章将被清除。
我使用以下代码行:
var notifications = Windows.UI.Notifications;
var polledUri = new Windows.Foundation.Uri("http://my_url/feed.php");
var recurrence = notifications.PeriodicUpdateRecurrence.halfHour;
var tileUpdater = notifications.TileUpdateManager.createTileUpdaterForApplication()
tileUpdater.startPeriodicUpdate(polledUri, recurrence);
这将创建每半小时更新一次的动态磁贴。我的问题是:我想在每次 PeriodicUpdate 发生时创建一个徽章更新。我使用以下代码:
var badgeType = notifications.BadgeTemplateType.badgeNumber;
var badgeXml = notifications.BadgeUpdateManager.getTemplateContent(badgeType);
var badgeAttributes = badgeXml.getElementsByTagName("badge");
var tileUpdater = notifications.TileUpdateManager.createTileUpdaterForApplication()
tileUpdater.startPeriodicUpdate(polledUri, recurrence);
// this is where my problem is
// if (tileUpdater.update() == true) -> This line is not correct: how can I catch the update event?
//badgeAttributes[0].setAttribute("value", currentValue + 1);
var badgeNotification = new notifications.BadgeNotification(badgeXml);
notifications.BadgeUpdateManager.createBadgeUpdaterForApplication().update(badgeNotification);
我想捕捉该 tileUpdater.startPeriodicUpdate 函数的更新事件并增加徽章的值。我怎样才能做到这一点?我到处搜索,但找不到答案。
我感谢您的帮助。
朱利安·阿塔纳索埃