Переодическая отсылка координат на сервер в бэкграунде.
Добавлено: 30 июл 2013, 16:43
Вопрос прост как сама суть
Но перечитав доки гугла с новым апи для работы с координатами (где используется LocationClient), плюс проштудировав http://stackoverflow.com по этому вопросу, я однозначного ответа так и не нашёл. В итоге для себя пришёл к следующему предварительному решению:
- само приложение для определения и отправки координат у меня без гуи.. просто сервис..(ну надо мне так
)
- другой прогой(с гуи) через aidl связываюсь с сервисом, в нём запускаю AlarmManager c определённым интервалом.
- по истечении интервала срабатывает ресивер, в нём ставиться wakelock(чтобы телефон не заснул пока я разбираюсь с координатами) и из этого ресивера стартует сервис, который первым делом проверяет последние известные координаты (getLastKnownLocation()), смотрит время их определения и если оно не удовлетворяет выбранному критерию, запрашивает новые, и ждёт их.
- затем идёт процедура отправки данных на сервер, после чего вызывается метод в ресивере (через интерфэйс и колбэк например) который отменяет wakelock..
Вот в общем-то и всё.. Хотелось бы поинтересоваться у знающих и тех, кто с этим сталкивался не изобрёл ли я велосипед.. и есть ли другие решения, может уже готовая библиотечка..?
- само приложение для определения и отправки координат у меня без гуи.. просто сервис..(ну надо мне так
- другой прогой(с гуи) через aidl связываюсь с сервисом, в нём запускаю AlarmManager c определённым интервалом.
- по истечении интервала срабатывает ресивер, в нём ставиться wakelock(чтобы телефон не заснул пока я разбираюсь с координатами) и из этого ресивера стартует сервис, который первым делом проверяет последние известные координаты (getLastKnownLocation()), смотрит время их определения и если оно не удовлетворяет выбранному критерию, запрашивает новые, и ждёт их.
- затем идёт процедура отправки данных на сервер, после чего вызывается метод в ресивере (через интерфэйс и колбэк например) который отменяет wakelock..
Вот в общем-то и всё.. Хотелось бы поинтересоваться у знающих и тех, кто с этим сталкивался не изобрёл ли я велосипед.. и есть ли другие решения, может уже готовая библиотечка..?