我刚刚在Visual Studio中创建了一个“导航应用程序”项目,我正在尝试让实时磁贴实际更新。这就是我在default.js中的内容:
(function () {
"use strict";
WinJS.Binding.optimizeBindingReferences = true;
var app = WinJS.Application;
var activation = Windows.ApplicationModel.Activation;
var nav = WinJS.Navigation;
// init notifications to live tile
var notif = Windows.UI.Notifications;
var tileUpdater = notif.TileUpdateManager.createTileUpdaterForApplication();
var recurrence = notif.PeriodicUpdateRecurrence.halfHour;
var updateTileUrl = "http://bakersdozen13.lfchosting.com/img.xml";
var url = new Windows.Foundation.Uri(updateTileUrl);
tileUpdater.startPeriodicUpdate(url, recurrence);
app.addEventListener("activated", function (args) { ... }); // the js that came w/ the project template
...
})();
当我点击F5运行它,然后检查我的磁贴上的磁贴启动仪表板Windows 8屏幕,它只有我的徽标,没有别的。我错过了什么?我是否需要将通知片段放在其他位置?
Ps,这是从更新uri返回的xml:
<tile>
<visual>
<binding template="TileWideSmallImageAndText03">
<image id="1" src="http://cdn.godvine.com/uploads/2012/11/image_1353288711_abandoned_church_1.jpg" alt="img alt text here"/>
<text id="1">Dying Man Gets a Miracle in Abandoned Church</text>
</binding>
<binding template="TileSquarePeekImageAndText04">
<image id="1" src="http://cdn.godvine.com/uploads/2012/11/image_1353288711_abandoned_church_1.jpg" alt="img alt text here"/>
<text id="1">Dying Man Gets a Miracle in Abandoned Church</text>
</binding>
</visual>
</tile>
答案 0 :(得分:0)
一切都很好看。我在SDK中的Push和Periodic Notifications Sample中尝试了你的URL,并且tile更新很顺利,因此XML没有任何问题。然后我做了你的步骤:新的Nav应用程序项目,粘贴在代码中,并在VS中运行。将图块显示在开始屏幕上需要几秒钟,但一旦完成,图块更新就会按预期显示。
简而言之,我尝试它时效果很好。
您可以尝试将代码放在激活的处理程序中。可以想象,VS如何部署应用程序与创建磁贴的时间之间存在一些竞争条件。您可以在VS的Build菜单上尝试Deploy命令,该命令应该单独安装应用程序以尝试运行它。然后从磁贴启动它,在应用程序启动后,返回并观看“开始”屏幕。
请注意,默认应用项目中将忽略XML中的宽磁贴更新,因为它没有宽的静态磁贴图像。也就是说,您必须在清单中包含一个宽图块图像,以便启用实时宽图块,否则将忽略XML有效负载的那些部分。
答案 1 :(得分:0)
我在使用Visual Studio开发和部署的应用程序时遇到了类似的问题。这个应用程序最初没有实时图块。当我后来添加实时图块的代码时,图块没有更新。
我的解决方案是卸载应用程序(通过开始屏幕上的应用栏)并再次部署它。那段时间一切正常,没有任何代码修改。