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

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

Solutions Collecting From Web of "Уверены ли перезагрузки системы Android?"

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

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

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

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

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

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

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

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

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

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

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