Я собираюсь сослаться на Activity
Жизненный цикл .Между onResume
и onPause
ваш Activity
является «активным», т. Е. Он находится на экране, и пользователь может взаимодействовать с ним.Если вызывается метод onPause
вашей активности, вам следует предположить, что он больше не является "активным", и пользователь больше не сможет взаимодействовать с ним, пока не будет вызван onResume
.Если вы хотите отслеживать это в своем сервисе, вам придется сделать это вручную.
Вероятно, этого легче всего достичь, вызвав метод в вашем сервисе в Activity#onResume
, который увеличивает счетчик или устанавливает флаг, а в onPause
отменяет это изменение.Если у вас есть несколько действий, вам, скорее всего, понадобится счетчик, вероятно, AtomicInteger
, и используйте его, чтобы определить, когда вам следует возобновить опрос.
Возможно, я бы немного подождал, когда счетчик достигнет 0, перепроверьте его, и если он все еще равен 0, возобновите опрос.Это будет учитывать разрыв между onPause
одного вида деятельности и onResume
.
другого.