Android: периодически отправляйте данные о местоположении в фоновом режиме (каждые 30 секунд) и запрашивайте новые данные у сервера

Сценарий:

Публикация на сервере для получения новых данных в фоновом режиме каждые 30 секунд в течение длительного периода времени, то есть 12 часов. Данные о местоположении должны быть отправлены вместе с этим.

Текущая реализация;

Класс обслуживания;

Слушатель местоположения с интервалом 30 секунд, который устанавливает долготу и значения широты для двух локальных переменныхДиспетчер тревог срабатывает в ожидании намерения каждые 30 секунд для приемника вещания.Приемник широковещания запускает IntentService с переменными местоположения в дополнениях.Http IntentService публикует местоположение и запрашивает новые данные с сервера.

IntentService отправляет ответ сервера обратно в основной класс обслуживания через широковещательный приемник.

Сервисный класс start_sticky для обеспечения перезагрузки ОС.

Я пробовал несколько разных вариантов, я

Мы пытались использовать обработчик и запускать для обработки механизма синхронизации для отправки на сервер, однако, время postDelay изменилось с 2 минут до 7 минут, когда устройство спит.

Кроме того, попытался запустить IntentService непосредственно из диспетчера аварийных сигналов, но не смог изменить дополнения PendingIntent с самыми последними переменными местоположения.

Вопросы;

Является ли текущая реализация подходом?

Будет ли гуглС маршрутом GCM будет намного выгоднее?

Как вы можете энергично протестировать класс обслуживания, особенно в отношении восстановления из ОС, убивающей его?

Заранее спасибо.

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

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