Android: периодически отправляйте данные о местоположении в фоновом режиме (каждые 30 секунд) и запрашивайте новые данные у сервера
Сценарий:
Публикация на сервере для получения новых данных в фоновом режиме каждые 30 секунд в течение длительного периода времени, то есть 12 часов. Данные о местоположении должны быть отправлены вместе с этим.
Текущая реализация;
Класс обслуживания;
Слушатель местоположения с интервалом 30 секунд, который устанавливает долготу и значения широты для двух локальных переменныхДиспетчер тревог срабатывает в ожидании намерения каждые 30 секунд для приемника вещания.Приемник широковещания запускает IntentService с переменными местоположения в дополнениях.Http IntentService публикует местоположение и запрашивает новые данные с сервера.IntentService отправляет ответ сервера обратно в основной класс обслуживания через широковещательный приемник.
Сервисный класс start_sticky для обеспечения перезагрузки ОС.Я пробовал несколько разных вариантов, я
Мы пытались использовать обработчик и запускать для обработки механизма синхронизации для отправки на сервер, однако, время postDelay изменилось с 2 минут до 7 минут, когда устройство спит.
Кроме того, попытался запустить IntentService непосредственно из диспетчера аварийных сигналов, но не смог изменить дополнения PendingIntent с самыми последними переменными местоположения.
Вопросы;
Является ли текущая реализация подходом?
Будет ли гуглС маршрутом GCM будет намного выгоднее?
Как вы можете энергично протестировать класс обслуживания, особенно в отношении восстановления из ОС, убивающей его?
Заранее спасибо.