2011-10-21 11 views
0

私のアプリケーションでは、ユーザーの好みに応じて、5秒または10秒または1分ごとにデータを更新する必要があります。Android、システムタイマーをブロードキャスト受信機として使用するのは簡単ですか?

スレッドを作成してタイマークラスを使用することはできますが、他の方法はありますか?例えば、システムのタイマーは、フラグ(放送何か)と私はアプリケーションで(私のデータを更新するために)それを得る?

おかげ

答えて

1

データをserval秒ごとに更新する場合は、Hanlderに設定してください。ただし、これはあなたの活動が継続している必要があります。

アラームのような特定の時間に何かをしたい場合。 AlarmManagerを使用できます。これはあなたの活動や他のコンポーネントが今は動いていなくても起きるでしょう。

システム時刻の変更を監視したい場合は、まあ、インテントACTION_TIME_TICKがあります。 BroadcastReceiverを登録して、それを聞き取り、システムがそれをブローキャストしたときに独自のコードを実装することができます。ただし、「TICK」の間隔は「1分」のみで変更できません。

1

AlarmManagerは、あなたが探しているものです。これは、PendingIntent(インテントブロードキャストに変換できる)を介して配信される定期的なイベントを設定するために使用できます。

デバイスが常に電源に接続されていない限り、特にネットワークを介してチェックを行っている場合は、このような定期的な間隔で新しいデータをチェックすることには注意が必要です。その小さなポール間隔がneworkに行くと、バッテリーは数時間でフラットになります。

関連する問題