0

私が何かを取得し、複数のプッシュメッセージを受け取った場合(このように)、このメソッドは常に「1」を示します。私は、バックグラウンドに入るよりも、私は、自分のアプリケーションを起動し、いくつかのプッシュメッセージを送信し、新しいメッセージの数が、私は自分のアプリケーションを起動し、メッセージボックスに私が得たよりも、複数である:私はこれをテストしてきたどのようにタイル通知から番号を取得する方法

private void Application_Activated(object sender, ActivatedEventArgs e) 
      { 
       List<ShellTile> pinnedtiles = ShellTile.ActiveTiles.ToList(); 
       MessageBox.Show(pinnedtiles.Count().ToString()); 

      } 

同じ番号 - 1(ただし、タイルアイコンの上に、私はより多くを持っている)

私が最初に自分のアプリケーションを起動し、私は任意のプッシュメッセージを受け取ってきた前に、私は同じ結果を持っている(1)

私が間違っているのは何?

更新日:

この記事では、それは動作します:

Distinct normal launch with push notification Windows Phone 7

更新:

MessageBox.Show(ShellTile.ActiveTiles.First().Count.ToString()); 

更新: は何のCountプロパティはありません Tileから数えられる方法はありますか?

+0

私はあなたの質問を理解していません。タイルの総数や特定のタイルについて知りたいですか? – Alex

+0

タイルの合計数を – revolutionkpi

+0

@revolutionkpiにするには、 'IList 'の 'Count'メソッドが使用されているため、常に1の値が得られます。言い換えれば、アクティブなタイルの左上の「数字」ではなく、アクティブなアプリケーションタイルの数を数えています(探していると思われるもの)。 – ajmccall

答えて

2

ShellTileでは値を読み取って更新することはできません(Updateメソッドを使用)。上記のコメントで提案されたように、私はあなたのアプリケーションをシェルタイルから読み込もうとするのではなく、データのソースにします。

私はこのようなものだろう:

のViewModel - アプリケーションの終了/アンロード/たびに分離ストレージに保存さ:通知に基づいて、ライブタイルを更新するための

public int OutstandingNotification{ get; set;} 

BackgroundTaskの:

tile.Update(new StandardTileData { Count = App.ViewModel.OutstandingNotification} 

アプリケーションロード - 隔離されたストレージからViewModelをロードし、値を表示します。

MessageBox.Show(App.ViewModel.OutstandingNotification.ToString()); 
+0

どのようにすることができます:通知に基づいてライブタイルを更新するBackgroundTask? – revolutionkpi

+0

私はバックグラウンドエージェントについて知っていません。私は上記を推測した。ポイントは、あなたが制御し、あなたが望むように照会することができるShellTile以外のどこかに格納されたデータを持っていることです。 – gbanfill

+0

バックグラウンドエージェントをカバーするポストがあり、Peter Torrのタイル/ショートーストのアップデートには、こちらを使用してください:http://blogs.msdn.com/b/ptorr/archive/2011/07/11/background-agents -part-of-3.aspx – Alex

関連する問題