Пример приложения Android Geofencing работает только в том случае, если другое приложение открыто с помощью GPS

Я работаю с пример приложения GEOFENCE API у меня он работает и, кажется, работает нормально. Я внес изменения в него, чтобы использовать BroadcastReceiver вместо IntentService.

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

Если у меня нет одного из этих приложений, и я иду в зону геозоны, ничего не происходит. Но как только я запускаю один из них Я получу уведомление в течение нескольких секунд.

2 ответов


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

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


даже у меня тоже была борьба с получением уведомления о Геозоне, как только я вошел в геозону или вышел из нее.Всегда были задержки в уведомлениях, пока я не нашел действительно хорошую библиотеку местоположения под названием маленький-пушистый-расположение-библиотека что служит моей цели.Обновления местоположения будут периодически транслироваться в ваше приложение.

в документации говорится, что:

библиотека работает с помощью прослушивателя пассивного местоположения Froyo (только возможно с Android 2.2 и выше, поэтому он лучше всего работает с ним), который слушает обновления местоположения запросы других приложений на вашем телефоне. Наиболее точное положение передается в ваше приложение, примерно каждые 15 минут. Если обновление местоположения не было получено из другого приложения в течение часа, библиотека вынуждает обновление местоположения самостоятельно.

Я думаю, вы должны дать попробовать с этой библиотекой и дайте мне знать, если это работает для вас!!