Подтвердить что ты не робот

Уверены ли перезагрузки системы Android?

- система, сохраняющая их или мне нужно добавить их снова после перезагрузки? Я ничего не нашел об этом в документации по https://developer.android.com/training/location/geofencing.html

4b9b3361

Ответ 1

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

Вы должны прослушать действие BOOT_COMPLETED и снова добавить геообъекты.

Примечание. Если ваше приложение установлено на внешнем хранилище (SD-карта), вы никогда не получите действие "Завершение загрузки". Поэтому вы должны указать android:installLocation="internalOnly" в manifest tag. Это связано с тем, что перед настройкой внешнего хранилища устройство Android будет транслировать действие BOOT_COMPLETED.

Ответ 2

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

Моя настройка была следующей:

  • Запустить приложение
  • Приложение устанавливает различные геолокации при первом запуске только как NEVER_EXPIRE
  • Выход из приложения
  • Использовать телефон в регионах, отмеченных забором
  • Подтвердите, что инициирует ожидающие действия, которые отправляются в IntentService
  • Оставьте область
  • Перезагрузите телефон
  • Повторно введите регион
  • Ожидание намерения не отправляется в IntentService

Если у кого-то есть дополнительная информация об этом от кого-то в Google, прокомментируйте!

Ответ 3

Какие данные вы хотите сохранить? Является ли это областью геозонности вашего устройства или областью геопространства, хранящейся в Google Location Service API?

Я считаю, что устройству необходимо зарегистрировать регион (определенный его широтой, долготой и радиусом) в Google Play Service (через LocationClient). Вам также необходимо указать время истечения срока действия, тип перехода, о котором вы хотите получать уведомление, и намерение, из которого вы будете уведомлены.

Эта область будет храниться (удаленно) не в вашем приложении. По истечении срока его действия Google Play Service автоматически удалит его. Вы также можете установить его как NEVER_EXPIRE. Если регион еще не истек, Служба Google Play уведомит ваше приложение (с помощью намерения, которое вы отправляете при вызове addGeofences).

Источник области (lat, long, radius) зависит от вашей реализации.