3

私はWindows8でライブタイルを頻繁に更新しようとしていますが、アプリ自体が実行されていない場合でも更新する必要があります。このMSDNページにリストされている通知オプションはどれも適切ではありません。CPU温度など、リストされている通知のスタイルに合わないシステム情報をポーリングしたいと思います。

StackOverflowの他の場所を調べて同様の質問を確認しましたが、WindowsPhone7ではバックグラウンドワーカーを使用しています。バックグラウンドワーカーを使用することは、私にとっても正しい答えのようです。ただし、前のチュートリアルのようなチュートリアルは、状況が少し異なるWindows Phone 7に焦点を当てています。たとえば、Visual Studio 2012 UltimateのWindowsストアテンプレートには、スケジュールされたタスクエージェント用のC#テンプレートがありません。

だから私の質問は、アプリケーション自体が実行されていないときにライブタイル更新を実行するようにWindows8アプリのバックグラウンドワーカーをどのように設定できるかということです。

4

2 に答える 2

3

ここでバックグラウンド タスクについて読むことができます。TimeTrigger についてはこちらを参照してください。操作バックグラウンド タスクのメソッド OnCompleted では、LiveTile を設定できます。

    void OnCompleted(BackgroundTaskRegistration sender, BackgroundTaskCompletedEventArgs args)
    { 
      var tile = CreateNotification(String.Format(@"<tile>
      <visual>
        <binding template=""TileSquareText04"">
          <text id=""1"">{0}</text>
          <text id=""2""></text>
        </binding> 
        <binding template=""TileSquareText02"">
          <text id=""1"">{0}</text>
          <text id=""2""></text>
        </binding>  
      </visual>
    </tile>", DateTime.Now.ToString("hh:mm:ss")));
     TileUpdateManager.CreateTileUpdaterForApplication().Update(tile);
     }
    private TileNotification CreateNotification(string xml)
    {
        var xmlDocument = new XmlDocument();
        xmlDocument.LoadXml(xml);
        return new TileNotification(xmlDocument);
    }
于 2012-12-05T11:39:00.830 に答える
1

ホワイトペーパーを確認してください:バックグラウンドタスクの概要; それと、タイルについてすでに学んだことや研究したこととの間で、何かをまとめることができるはずです。

于 2012-09-23T06:25:32.270 に答える