2012-01-17 8 views
3

質問サービスは、毎時間


私は私のアプリのためのサービスを作成していたデータをロードする必要がありますが、私は実現できない、おそらくpritty単純なことがあります。私はこれをどうやってやろうとしているのか分かりません。

午前6時から午後6時の間、私のサービスが毎時データをリフレッシュしたいと思います。どのようにバッテリ効率のよい簡単な方法でこれを可能にしますか?いくつかのコードスニペットや素晴らしいチュートリアルがあれば、私は本当にこれを学びたいので、とてもうれしいです。

よろしく

サファリ

答えて

2

AlarmManagerを使用して手続きを開始することができます。まず、Calender.HOUR_OF_DAYを使って現在時刻を確認する必要があります。次に、現在の時間が6〜18の間であることを確認できます。条件が満たされた場合は、データを更新することができます。それ以外の場合は、アラームをキャンセルして次の期間に設定することができます。

+0

次の期間?問題は私のAlarmMangerにどうやって伝えることができるのですか?「ちょっと今6-18、毎時データをリロードしています....」ここで問題が起きるのは... – safari

+0

'Calender.HOUR_OF_DAY'を使って、そのような方法で状態を確認することができます。 –

+0

だから、最初に、その1 2 3などがCalender.HOUR_OF_DAYでチェックされます。その後、その条件が真であれば、時間が6から18の間であるかどうかをチェックします。それはうまくいくはずですが、私はまだそれが今の1 2 3など – safari

1

現在の時刻(過去18時)に応じて、将来的にあなたのデータをリフレッシュし、新しいアラームを一当社(または13時間)を設定火力アラームを作成します。アラムマネージャの詳細については、こちらをご覧ください。http://developer.android.com/reference/android/app/AlarmManager.html

0

サービスを停止するには午前6時に、また午後6時にはサービスを再開するには、インテントを起動するブロードキャストレシーバーが必要です。このようにして、バッテリの消費量を改善することもできます。

+0

問題は、アプリケーションにリロードボタンがあるため、サービスが常に実行されていて、データをリロードできることです。 – safari

関連する問題