2013-09-13 4 views
0

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

+0

Пожалуйста, внесите ваш код здесь. –

ответ

0

Вы есть getLastKnownLocation метод:

Criteria criteria = new Criteria(); 

String provider = mLocationManager.getBestProvider(criteria, false); 
Location location = mLocationManager.getLastKnownLocation(provider); 

BTW, вы можете confiure Criteria недоброжелатель eample:

criteria.setAccuracy(Criteria.ACCURACY_FINE); 
criteria.setCostAllowed(false); 

и если вы хотите связать последнее известное местоположение с onLocationChanged, просто позвоните:

this.onLocationChanged(location); 
+0

Я использую обработчик, который активирует службу каждые 10 минут, но этот обработчик работает только для изменения местоположения. Если я изменяю местоположение через ddms, он отправляет обновления на сервер, но когда местоположение не меняет обработчик, он не отвечает .. скажите, пожалуйста, как чтобы решить эту проблему. – saba

+0

Порыв позыв выше указанного кода в вашем обработчике каждые 10 мин. Посмотрите на последнюю строку, где я вызываю 'onLocationChanged' вручную. Так что это должно работать –

+0

ОК, я пытаюсь это сделать. надеюсь, что это работает :) – saba

0

Для этого вам нужно воспользоваться услугами.

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

взглянуть на этот пример, чтобы получить место

http://javapapers.com/android/get-current-location-in-android/

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

+0

Я сделал то же кодирование, но проблема только в том, что он вызывает изменение местоположения только в том случае, если изменение местоположения. я хочу, чтобы он получил место каждые 10 минут – saba

0

Я делаю что-то очень похожее, в любое время, когда меняют местоположение, я храню его в двухместных номерах Long и Lat. Я просто проверяю эти переменные, когда мне это нужно.

0

Мое предложение состоит в том, чтобы использовать sharedpreferences.

перед отправкой местоположения в serever, сохраните его в sharedpreferences. Вместо использования сервера или LocationManager для последнего местоположения вы можете получить непосредственно из сохраненных sharedpreferences.

Смежные вопросы