-1

数日間 Google のドキュメントをチェックしてきましたが、どうすればよいかわかりません。

私の頭の上のアイデアは、デバイスが再起動した場合でもバックグラウンドで (永久に) 実行されるサービスを作成することです (たとえば、WhatsApp など)。このサービスは、木曜日だけに 30 分ごとにインターネットを経由する必要があります (たとえば)。

ただし、従来のサービス、BroadCastReceiver などを使用するサービスを作成する必要があるかどうかはわかりません。

どこに焦点を当てて検索するかについて説明が欲しい. 終わりのないタスクを実行するには、どの種類のサービスを使用すればよいですか?

4

1 に答える 1

4

バックグラウンドで永久に実行されるアプリは、誰も望んでいません。定期的に(バックグラウンドで)起動され、それを実行し、再びスリープするアプリが必要です。

また、Android では、「永久に」何も実行されません。ライフタイムは Android OS によって処理されます。つまり、リソースが必要な場合はアプリを強制終了できます。

したがって、次の 2 つのことができます。

  • BroadcastReceiver+ Service: BR は Android Booted をリッスンし、Intent( を使用して) 無期限に実行されるサービスを開始しますstartService
  • AlarmManager+ BroadcastReceiver(+ Service): BR を起動したい指定した間隔でアラームを作成します。BR はその後Service、重い作業を行う を開始できます。サービスが完了したら、それは自殺するはずです!

IntentServiceBroadcastReceived数秒 (10 秒) しか生きられないため、単独では使用できません。

tl;dr

永久に実行されるサービスを作成しないでください。タスクを作成Serviceし、完了したら自殺します。Service次に、これを定期的に起動します。

于 2013-09-23T13:42:55.080 に答える