Что случилось со службами LocationManager и Location?

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

Я заметил, что в более новых версиях Android событие геозоны не запускается, если у меня нет приложения, которое запускает GPS (например, Google Maps). Это прекрасно работает на Android 2.3.3 без запуска Карт.

В более новых версиях Android я получаю событие геозоны далеко за пределами радиуса, например, 2 км из 200-метрового радиуса, и это на 20 минут позже.

Это делает геозону непригодной для использования.

Пожалуйста, пожалуйста, кто-нибудь, объясните, что происходит. Я понимаю усилия по сохранению батареи, но так оно и есть, это просто не работает.

Спасибо.

РЕДАКТИРОВАТЬ: Может ли это быть связано с этим (из документа LocationManager)? «До версии API 17 этот метод можно было использовать с ACCESS_FINE_LOCATION или ACCESS_COARSE_LOCATION. Начиная с версии API 17 и выше, для этого метода требуется разрешение ACCESS_FINE_LOCATION».


person Rastio    schedule 26.01.2015    source источник
comment
Какой класс вы используете для геозоны? Я знаю, что было относительно недавнее изменение, когда Google подталкивает людей к использованию com.google.android.gms.location.GeofencingApi   -  person spirulence    schedule 26.01.2015
comment
Не имеет значения. Я провел последние несколько дней, используя gms.locaion.GeofencingApi, с описанным выше разочарованием (см. первую ссылку в моем посте). Сегодня я решил перейти непосредственно к LocationManger и заметил такое же поведение. Что-то изменилось на уровне ОС.   -  person Rastio    schedule 26.01.2015