1

5分ごとに小さなタスクを実行する小さなAndroidプログラムを作成しようとしています. その後、プログラムは「停止」してさらに 5 分間待機し、同じ小さなタスクを実行できます。

私はこのプログラムを「サービス」と呼んでいます

私はプログラムと通信できるはずです(可能であれば設定を介して、またはサービスと直接話すことができます)。小さな活動。

今、私はこれらの構成について読みましたが、どれを使用すればよいかわかりません:

  1. サービス
  2. インテントサービス
  3. アラームマネージャー
  4. ハンドラ

どちらを使用するかに光を当てることができますか?

Ps

私の目標の説明は少しわかりにくいと思います。それを比較するのに最適なのは、Windows PCのアイコントレイだと思います。これは、自動的に開始され、いくつかのことを実行するプログラム/サービスです(私の場合、定期的に実行されます)。アイコンをクリックします。したがって、私のプログラムはバックグラウンドで実行されている必要がありますが、プログラムと通信できる必要があります。

編集 より良い例はこれです: 電話の近くで利用可能な新しい WiFi ネットワークがあるかどうかをチェックするプログラム/サービスがあります。そのサービスは、新しいネットワークの存在を定期的にチェックします (推測します)。ただし、設定を介してこの動作をオフにすることができます (これは、サービスとやり取りする GUI を意味します)。

4

3 に答える 3

2

AlarmManager実行しているタスクが何であるかを正確に知らなくても、タスクのタイミングを管理しIntentService、タスク自体を実行するために を使用する必要があると言えます。

ユーザーがサービスの設定をできるようにしたいだけですか?そのために を使用し、サービスが読み取ることができるSharedPreferencesActivityを使用して設定を保存します。

于 2013-08-06T18:09:00.627 に答える
1

最善の策は、 と の両方を使用することAlarmManagerですIntentService。そうすれば、アラームを開始し、5 分ごとに、または何でもインテント サービスにインテントを送信して、やりたいことを何でも実行できます。

すべてのタスクが完了すると、インテント サービスは自動的に停止するため、管理について心配する必要はありません。

于 2013-08-06T18:08:29.117 に答える