私はAlarmManager
を使用して、バックグラウンドジョブを実行するために1分ごとにサービスを開始します。私は `stopSelf()`を呼ぶべきでしょうか?
Intent intent = new Intent(context, PostLocationService.class);
PendingIntent pendingIntent = PendingIntent.getService(context, POST_LOCATION_REQUEST_CODE, intent, 0);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarmManager.setInexactRepeating(
AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime() + TEN_SECONDS_INTERVAL,
ONE_MINUTE_INTERVAL, pendingIntent);
PostLocationService
はService
を拡張:ここ
は、コードスニペットです。 onStartCommand()
私は仕事をして、stopSelf()
に電話をします。
しかし、このサービスがまだ実行されている場合は、次回受信意向でonStartCommand()
が再度実行され、必要なジョブが実行されることがわかります。
ここでベストプラクティスは何ですか:1分ごとに新しいサービスを開始するか、1つのサービスを継続して実行し、インテントを待っていますか?
私の答えが追加されました。詳細を知りたい場合はお知らせください。 –