Are Android geofences surviving a reboot?

I haven't found any documentation confirming this, but my own experiments have shown that they are not persisted across reboots.

My setup was as follows:

  • Run application
  • Application sets up various geofences on first launch only as NEVER_EXPIRE
  • Exit application
  • Use phone in regions marked by fences
  • Confirm fences trigger pending intents which are sent to IntentService
  • Leave region
  • Reboot phone
  • Re-enter region
  • Pending intent does not get sent to IntentService

If anyone has more information on this from someone at Google please comment!


Geofences will not persist on reboot.

You have to listen for BOOT_COMPLETED action and add geofences again.

Note: If your app installed on external storage(SD card), you will never receive Boot Complete action. So you have to specify android:installLocation="internalOnly" in the manifest tag. This is because, android device will broadcast BOOT_COMPLETED action before setting up the external storage.