毎分更新されるライブ タイルにデータを表示する Windows 8 メトロ アプリがあります。
Metro アプリが開始されると、タイルの更新を行うためのシーケンスが作成されます。これは完全に機能します。
問題:
コンピューターを再起動すると、メトロ タイルが機能しなくなります。代わりに、デフォルトのメトロ タイル (アプリ名、左下、画像中央) に戻ります。
メトロアプリを起動して停止するだけで、再び機能するようになります。しかし、私はこれをしたくありません。
IBackgroundTask を実装し、run メソッドを実装するクラスを実装します。
public void Run(IBackgroundTaskInstance taskInstance){
BackgroundTaskDeferral deferral = taskInstance.GetDeferral();
TileScheduler.CreateSchedule();
deferral.Complete();
}
メトロ アプリ パッケージ マニフェストで、宣言 "Background Task" を追加し、エントリ ポイントの下にこのクラスを指定しました。タイマーとシステムイベントも登録します。
このクラス コードは基本的に、遅延でラップされていることを除いて、タイル シーケンスを初めて設定するときにメイン アプリが実行するのと同じコード パスを呼び出します。
質問 これは正しいパスですか (機能していないように見えるので、実装が間違っていると思います)? またはこれを行うためのより良い方法はありますか?