Я использую AlarmManager
, чтобы начать обслуживание каждые 1 минуту, чтобы выполнить некоторую фоновое задание.Фоновая работа каждые 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 минуту или сохранить один сервис в ожидании намерений?
Я добавил свой ответ, пожалуйста, дайте мне знать, если вы хотите получить дополнительную информацию. –