Как осуществлять периодические запросы геолокации и загружать данные в интернет - PullRequest
0 голосов
/ 16 июля 2011

Я планирую запрограммировать приложение для Android, которое периодически определяет положение устройства (скажем, каждые пять минут) и загружает данные о местоположении в Интернет.Отслеживание должно быть явно активировано и деактивировано пользователем и должно продолжаться, когда пользователь покидает приложение (действие) или устройство переключается в режим ожидания.Загрузка данных о местоположении в Интернет не обязательно должна осуществляться в режиме реального времени, но должна произойти в ближайшее время.

Я уже прочитал Руководство по разработке приложений для Android об услугах и получении местоположения пользователя, а также некоторые инструкции о создании службы.Насколько я понял, я должен реализовать (foreground-) сервис, чтобы получить местоположение и временно сохранить его где-нибудь.Другая служба будет заботиться о загрузке данных.

Но есть еще много вещей, в которых я не уверен: стоит ли использовать поток и цикл с таймером?Или IntentService, а затем запускать Intent каждые 5 минут (как, где)?Или использовать AlarmManager?И как я могу инициировать загрузку данных о положении?

Я довольно новичок во всем этом (я только создал несколько настольных Java-программ), и я был бы очень рад, если бы кто-то дал мне идею, какреализовать это в Android.

Спасибо!

1 Ответ

1 голос
/ 16 июля 2011

Вы должны установить Alarm через Alarm Manager, чтобы запустить сервис.Затем служба должна найти местоположение и отправить его в конечный пункт назначения.

Я бы также реализовал второй поток в сервисе, который на время останавливается (скажем, 15 секунд) и завершает сервис.В противном случае, если по какой-либо причине не будет найдено места, вы будете постоянно уничтожать батареи устройства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...