2015-01-28 2 views
0

я следующий код реализован для получения значений местоположения на Android:Android расположения точности

mLocationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE); 
mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this); 

На Android 2.3 и 4.1 это отлично работает и возвращает обновления на 180 проб в час с разрешением до 100 м или меньше ,

Однако на Android 4.3 что-то изменилось, так что это обеспечивает только обновления с 5 образцами в час и разрешением в 2 км. Я не тестировал более поздние версии.

Что изменилось? Можно ли снова вернуться к старым уровням точности? Я не хочу использовать GPS по соображениям власти. Приложение имеет разрешения ACCESS_COARSE_LOCATION.

Я тестировал это на Samsung S3, если это имеет значение.

+0

попробуйте включив WiFi на вашем S3, он даст вам более частые обновления и с большей точностью. (Поставщик сети также использует сети Wi-Fi для получения исправления). –

ответ

1

LocationManager.NETWORK_PROVIDER не обеспечивают точное расположение обеспечивает вам местоположение по сотовой вышке подключали, иногда она обеспечивает расположение с точностью до 100 м, иногда с 2 -3 км, если вы не хотите получать местоположение из gps из-за причин мощности, я бы предложил вам использовать плавленое местоположение, поскольку это эффективный и эффективный способ получить местоположение на Android, и Google также рекомендует это, вы можете прочитать подробнее здесь, в этом примере http://www.kpbird.com/2013/06/fused-location-provider-example.html

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