2

サーバーから定期的にデータを取得するアプリを開発しています。現在、ScheduledThreadPoolExector を使用していますが、十分にきれいではないと思うので、AlarmManager を使用して定期的なタスクを作成することにしました。

このタスクには、BroadcastReceiver と Service のどちらが適していますか? これらの 1 つに 10 秒の制限があることを読みましたか、それとも両方にこの制限がありますか?

4

1 に答える 1

2

実際、BroadcastReceiver は 10 秒間しか存続できません。サービスはより長く存続できます (Android OS がリソースを必要とするかどうかによっては、アプリが強制終了される可能性があります)。

Service は、「通常の」サービスまたは IntentService (処理できる Intent がなくなると自動的に強制終了されます) にすることができます。IntentService をお勧めします。

IntentService が受け取る Intent を作成し、この Intent を AlarmManager に追加できます。

于 2012-07-02T08:22:11.593 に答える