0

Visual Studio で "Navigation App" プロジェクトを作成しました。ライブ タイルを実際に更新しようとしています。これは私の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>
4

2 に答える 2

0

Visual Studio で開発および展開したアプリで同様の問題が発生しました。このアプリには、最初はライブ タイルがありませんでした。後でライブ タイルのコードを追加したとき、タイルは更新されませんでした。

私の解決策は、(スタート画面のアプリ バーから) アプリをアンインストールし、再度デプロイすることでした。その時は、コードを変更しなくてもすべてうまくいきました。

于 2012-11-23T20:56:22.183 に答える
0

すべてがうまく見えます。SDK の Push and Periodic Notifications Sample で URL を試しましたが、タイルの更新は正常に行われたため、XML に問題はありませんでした。次に、あなたの手順を実行しました。新しい Nav アプリ プロジェクトをコードに貼り付け、VS で実行しました。タイルがスタート画面に表示されるまで数秒かかりましたが、表示されるとタイルの更新が期待どおりに表示されました。

要するに、これは私が試したときにうまくいきました。

アクティブ化されたハンドラー内にコードを配置してみてください。VS によるアプリの展開方法とタイル作成のタイミングとの間に何らかの競合状態が存在することが考えられます。VS の [ビルド] メニューで Deploy コマンドを試すことができます。これにより、アプリを実行するのとは別にアプリをインストールする必要があります。次に、タイルから起動し、アプリが起動したら、戻ってスタート画面を確認します。

既定のアプリ プロジェクトには幅の広い静的タイル イメージがないため、XML 内の幅の広いタイルの更新は無視されることに注意してください。つまり、ライブ ワイド タイルを有効にするには、マニフェストにワイド タイル イメージを含める必要があります。そうしないと、XML ペイロードのこれらの部分が無視されます。

于 2012-11-20T20:54:55.263 に答える