Android - зачем использовать отложенные намерения для геозон

Я только что закончил учебник по геозону на Android (http://developer.android.com/training/location/geofencing.html) и мне интересно, почемуПерезвоните' для геозон делается через ожидающие намерения, а не простой интерфейс обратного вызова.

Если реализовано в деятельности, обычно отключается клиент местоположения вonPause() в любом случае, ранее добавленные геозоны не будут отслеживаться и после приостановки / уничтожения приложения, так почему же это ожидание? Или я здесь ошибаюсь?

Ответы на вопрос(2)

Этот ответ может быть устаревшим - точность и надежность сервисов Google Play сильно изменились »первый выпуск.

Некоторые из моих опытов с геозонами ниже. Прежде всего - главное преимущество этой технологии - ОЧЕНЬ низкое потребление батареи. На самом деле, я могуНе замечайте никаких изменений в сроке службы батареи. Это'Это действительно впечатляет. Сервис, похоже, использует только Wi-Fi и сетевое местоположение. Я не'GPS не работает. Я могу'не сказать, если этоТолько скрытый значок местоположения или действительно не использует GPS. Точность - этоужасно 20 круговых зон вообще не обнаружены, кроме дальности моего дома ap. Похоже, что круг всей позиции, в том числе ошибка должна быть внутри огороженной области. 1000 метров областей обнаруживаются иногда и с огромной задержкой. Те эксперименты проводились на открытой местности с очень низким количеством Wi-Fi. Я'Я все еще пытаюсь найти действительно надежные настройки для этого сервиса. После получения намерений я хочу включить местоположение GPS и сделать окончательный подход в своем собственном коде.

Решение Вопроса

Интересно, почемуПерезвоните' для геозон делается через ожидающие намерения, а не простой интерфейс обратного вызова.

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

В случае реализации в действии обычно все равно отключают клиента определения местоположения в onPause (), поэтому ранее добавленные геозоны не будут отслеживаться и после того, как приложение было приостановлено / уничтожено, так почему же отложенное намерение? Или я здесь ошибаюсь?

Я считаю, что вы ошибаетесь здесь. Фактически, геозоны специально не предназначены для непосредственного запуска пользовательского интерфейса, как обсуждается вдокументация:

Намерение, отправленное из Служб определения местоположения, может инициировать различные действия в вашем приложении, но вы не должны заставлять его запускать действие или фрагмент, потому что компоненты должны становиться видимыми только в ответ на действие пользователя.

Теперь вы можете сказать, что хотите использовать геозоны только тогда, когда у вас есть активность на переднем плане. Тем не менее, вам придется удалить эти геозоны вonPause(), Геозона останется зарегистрированной до истечения срока ее действия или удалена вручную, AFAICT.

Ваш ответ на вопрос