2011-12-30 9 views
6

Android Appの20分ごとのような定期的な間隔で、ニュース/イベントのアップデートをサーバから取得する必要があります。 AFAIK Intent ServiceとBroadcast Receiverの組み合わせは、Serviceを使用するよりも優れています。実行中のServiceと通信しないためです。定期的にイベントを取得するには、2つのオプションがあります。Timer Task VS Android ManagerでのAlarm Managerの使用

1)Timer Task ScheduleAtFixedRateを使用して、更新が発生した場合は一度&ブロードキャストイベントをフェッチしてIntentServiceを開始します。指定された間隔の後、IntentServiceは再びTimerTaskによって起動されます。

2)IntentサービスをIntent Service onHandleIntentメソッド内で開始するだけで、TimerTask ScheduleAtFixedRateを開始します。これが好ましい方法であれば、どのようにしていつタイマータスクをキャンセルし、インテントサービスが破棄されるのか。

またはAlarm Managerを使用する必要があります。注:私はアプリケーションを使用している限り、私はこれらの更新が必要ですまた、毎回または3分ごとにではなく、20から30分ごとに更新が必要です。

すべての体は私にお勧めします、ありがとうございました。

+0

http://vikinghammer.com/2012/04/22/android-use-alarmmanager-instead-of-a-service-with-a-timertask/このリンクは違いを説明しています。 – kiduxa

答えて

7

AlarmManagerに進みます。私は前にTimerTaskを試してみましたが、一部のデバイスではうまく動作せず、しばらくしてから殺されました。

+0

私はまた、私が1または2のいずれかに従わなければならないアプローチを提案することもできます。 Txのクイックレスポンス – vrs

+0

AlarmManagerを使用すると、http通信用にスレッドを起動し、 – AAnkit

関連する問題