locationListener вызывается только один раз при запросе в Сервисе - PullRequest
0 голосов
/ 22 июня 2011

Я написал небольшое приложение, в котором есть Activity для управления и отображения данных, а также Service, который получает данные из GPS и отправляет их в Activity.Причина этого в том, что мне нравится, что это запускается даже после выхода из Activity ..

Я обошел вокруг, где в конце моего Location Listener удалил слушателя и переопределил его ..

   lm.removeUpdates(locationListener); 
   lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, iGPSMovement, locationListener); 

Но это нехорошо, и теперь оно терпит неудачу на моем желании HTC Z ..

Кто-нибудь сталкивался с этим?Что обходится?

Я написал небольшое приложение (одно действие), которое не использует Службу и прекрасно работает с requestLocationChange, который вызывается только при onCreate.

Ответы [ 2 ]

2 голосов
/ 04 февраля 2013

Не уверен, что это имеет значение больше, но причина, по которой вам пришлось установить расстояние в 0, заключалась в том, что это МИНИМАЛЬНОЕ расстояние, на которое должен двигаться блок, чтобы нить сработала. Таким образом, если бы телефон находился на вашем столе и не был перемещен на расстояние, по крайней мере, X от места, которое он занимал в момент запуска программы, вы не получили бы обновление. Установив значение 0, вы заставляете программу обновляться с минимальным интервалом времени независимо от пройденного расстояния. Я уверен, что это работает только до тех пор, пока выполняются оба минимальных условия. То есть Прошло более 5 секунд, и вы прошли больше 10 метров.

0 голосов
/ 01 июля 2011

ОК, поэтому я попытался переписать супер простое «Обслуживание и активность», используя приемник вещания, и это сработало как чудо. Поэтому я конвертирую свое приложение, и оно все еще не работает ... Но потом я обнаружил, что движение "Метры" должно быть 0 для запроса на работу над моим желанием ... Это странно или как? Во всяком случае, это решило мою проблему ..

lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0, locationListener);

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

...