Сервис Android с постоянно включенным GPS

Я создал приложение для Android, которое до сих пор работает достаточно хорошо. Он содержит локальную службу, которая отвечает за получение местоположения пользователей каждые пару минут и ретрансляцию этого через UDP на сервер сбора, который, в свою очередь, отображается на карте веб-приложения.

Приложение должно быть запущено постоянно, если пользователь явно не выходит из приложения. В настоящее время кажется, что ОС отключает службу и перезапускает ее по мере необходимости. Я вижу это, потому что обычно он постоянно сообщает о своем местонахождении каждые 2 минуты. Вместо этого в этих интервалах есть пробелы.

Поэтому я ищу совет о том, как я могу написать службу, которая (к сожалению, за счет батареи) может работать всегда и объединять службу определения местоположения ровно настолько, чтобы отправлять точные исправления с интервалом в 2 минуты.

На данный момент у меня есть хорошо работающая кодовая база, поэтому, если демонстрация того, где я сейчас нахожусь с кодом, поможет, не стесняйтесь спрашивать.

Заранее спасибо тем, кто протянет руку помощи.


person Adam Stirtan    schedule 04.08.2011    source источник


Ответы (1)


Лучше всего использовать AlarmManager для пробуждения каждые две минуты, сделать некоторую обработку и быстро вернуться в сон.

Если вы считаете себя хардкорщиком, вы можете даже использовать блокировку пробуждения, но это будет постоянно безжалостно держать процессор телефона включенным. Вы не хотите этого.

person EboMike    schedule 04.08.2011