Windows 7 phone で一定間隔で任意のコードを実行することは可能ですか? 私はそれを試みてから、アプリケーションのタイル イメージを更新します。タイルを更新するために必要な計算を実行するため、任意のコードを実行する必要があります。
2 に答える
アプリケーションがバックグラウンドで実行できないため、アプリケーションが実行されていないときに、電話のアプリのコードを一定の間隔で実行することを保証する方法はありません。
タイルに表示されるカウントを更新したい場合は、プッシュ通知を介してのみ行うことができます。
タイル イメージを定期的に更新する場合は、タイル スケジュールを使用してこれを行うことができます。これにより、指定された間隔で画像を更新するようにタイルに指示されます。サーバー上で画像をホストし、必要に応じて画像を再生成して最新の情報を表示するという考え方です。
スケジュールが実行される最大頻度は 1 時間ごとです。これよりも頻繁に更新が必要な場合は、通知を使用する必要があります。
Timerクラスを使用すると、一定の間隔でコードを実行できます。UI要素を更新したいので、DispatcherTimerを使用することをお勧めします。これはUIスレッドで実行されるため、UI要素を更新できるためです。ここで説明します:
DispatcherTimer(MSDN)
DispatcherTimerの使用方法に関するコードは次のとおりです(MSDNの記事から抜粋)。
dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0,0,1);
dispatcherTimer.Start();
スタートページのタイル、つまりアプリケーションを起動するタイルを意味する場合は、少し注意が必要です。プッシュ通知を使用する必要があり、それはそれにいくつかのより複雑な側面を追加します。ここにプッシュ通知に関するトレーニングコースがあります:
WP7トレーニングキット-プッシュ通知
Yochayには、プッシュ通知に関する一連の優れた投稿もあり
ます。WindowsPhone用のMicrosoftプッシュ通知について