Периодически обновлять данные в фоновом режиме (Android)

Основная цель моего приложения - при нажатии кнопки:

Собирать данные с датчиковХранить данные в базе данныхПовторяйте периодически (каждые X секунд)

Я хочу сделать это в фоновом режиме, и еслиMain Activity уничтожен, фоновый прогресс все еще работает. Так что, если вы удалите активность, я хочу, чтобы она все еще работала.

То, что я делаю сейчас, имеетAlarmManager сIntent Service, чтобы установить периодическую запись данных, но всякий раз, когда я уничтожаюActivity, поскольку они связаны, мое приложение вылетает.

Я знаю, что есть разные способы запуска фонового процесса, но ни один из них не подходит мне:

Service: Зависит от MainThread, поэтому при разрушении MainActivity происходит сбойIntent Service: Тот, который используется прямо сейчас, но поскольку он связан с AlarmManager, который связан с MainActivity, когда он уничтожается, происходит сбой.AsyncTaskПроблема этого состоит в том, что он должен выполнять одну задачу в фоновом режиме, и она завершается, но я действительно хочу делать это периодически, пока пользователь не скажет прекратить. Так что дело не в разовом.

Есть ли другой способ иметь фоновый сервис? Можно ли использовать что-либо из изложенного ранее для моих целей? Как вы рекомендуете мне это сделать?

Спасибо за ваши ответы.

Ответы на вопрос(1)

Ваш ответ на вопрос