Я новичок в Android, и, к сожалению, пока не нашел удовлетворительного ответа на свою проблему с обслуживанием. Я надеюсь, что вы можете мне помочь. Я думаю, что мой вопрос решает общую задачу.
Моя ситуация следующая: я реализовал свой собственный сервис, который просто записывает местоположения GPS и сохраняет их в списке. Как только служба останавливается, она записывает данные в базу данных.
Это работает хорошо, но теперь у службы должен быть какой-то «режим паузы», в котором она останавливает запись и может быть возобновлена позже. Как лучше реализовать этот функционал?
На данный момент у меня есть две (по общему признанию, не очень удовлетворительные) идеи:
Реализация собственного жизненного цикла службы (запуск, остановка, пауза, возобновление) и привязка графического интерфейса к службе. Кроме того, кажется, что привязка происходит асинхронно, что делает обновление графического интерфейса (включение и отключение элементов управления запуском/остановкой) немного запутанным.
При паузе служба останавливается, а местоположения GPS добавляются в некоторый список в классе singleton. При возобновлении служба снова запускается и так далее. Проблема, которую я здесь вижу, заключается в том, что приложение может быть убито в режиме паузы, и данные будут потеряны.