Периодически обновлять данные в фоновом режиме (Android)
Основная цель моего приложения - при нажатии кнопки:
Собирать данные с датчиковХранить данные в базе данныхПовторяйте периодически (каждые X секунд)Я хочу сделать это в фоновом режиме, и еслиMain Activity
уничтожен, фоновый прогресс все еще работает. Так что, если вы удалите активность, я хочу, чтобы она все еще работала.
То, что я делаю сейчас, имеетAlarmManager
сIntent Service
, чтобы установить периодическую запись данных, но всякий раз, когда я уничтожаюActivity
, поскольку они связаны, мое приложение вылетает.
Я знаю, что есть разные способы запуска фонового процесса, но ни один из них не подходит мне:
Service
: Зависит от MainThread, поэтому при разрушении MainActivity происходит сбойIntent Service
: Тот, который используется прямо сейчас, но поскольку он связан с AlarmManager, который связан с MainActivity, когда он уничтожается, происходит сбой.AsyncTask
Проблема этого состоит в том, что он должен выполнять одну задачу в фоновом режиме, и она завершается, но я действительно хочу делать это периодически, пока пользователь не скажет прекратить. Так что дело не в разовом.Есть ли другой способ иметь фоновый сервис? Можно ли использовать что-либо из изложенного ранее для моих целей? Как вы рекомендуете мне это сделать?
Спасибо за ваши ответы.