¿Las geofences permanecen activas en Android después de reiniciar el dispositivo?

Estoy escribiendo una aplicación que necesita usar geofencing para cuando alguien ingrese / salga de varios sitios durante el tiempo de vida de la aplicación que se está instalando.

Mi implementación de geofencing (muy similar al segundo enlace a continuación) funciona bien cuando instalo la aplicación por primera vez, tanto al moverme dentro como fuera de las geofences y al usar ubicaciones simuladas para simularlo, hasta que se reinicie un dispositivo.

Al reiniciar, ni las ubicaciones simuladas ni los movimientos físicos dentro y fuera de un geofence parecen activar el evento y disparar la intención pendiente a mi receptor de difusión.

He mirado los siguientes tres enlaces y también he leído bastante de los documentos, pero no puedo encontrar una respuesta definitiva a esto en ningún lugar que diga que las geofences registradas persisten o no persisten después de un reinicio.

Estos son los enlaces que revisé en el desbordamiento de pila:¿Están sobreviviendo las geofences de Android a un reinicio?

Android Geofence finalmente dejará de tener intenciones de transición

¿Las geofences de Android permanecen activas hasta que se eliminen / expiren o solo hasta que se inicie mi PendingIntent

Si alguien sabe la respuesta a si se quedan después del reinicio, o si no pueden hacerlo, ¡sería muy apreciado! Mi última esperanza actualmente es crear un oyente para BOOT_COMPLETED y volver a registrarlo en el inicio, pero prefiero hacer esto solo si es absolutamente necesario.

¡Muchas gracias por adelantado!

Edit: Aunque no he encontrado una respuesta definitiva (por escrito), estoy bastante seguro de que lo que publicó el Sr. TonyC es correcto y he optado por esa solución. Muchas gracias TonyC!

En caso de que alguien quiera ver la solución que tengo, escucho la acción de inicio completo cuando se inicia un dispositivo y luego vuelve a registrar todas las geofences que necesito.

Esto está en el manifiesto:

<!-- Listen for the device starting up -->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

<receiver android:name="com.YOUR.PACKAGE.geofence.BootCompleteReceiver">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED"/>
    </intent-filter>
</receiver>

y luego cree un receptor de difusión que registre las geofences en el arranque:

package com.YOUR.PACKAGE.geofence;

import android.app.PendingIntent.CanceledException;
import android.content.Context;
import android.content.Intent;
import android.support.v4.content.WakefulBroadcastReceiver;

import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesUtil;
import com.google.android.gms.location.Geofence;

public class BootCompleteReceiver extends WakefulBroadcastReceiver
{
    private static final String TAG = "BootCompleteReceiver";

    @Override
    public void onReceive(Context context, Intent intent)
    {
        //Do what you want/Register Geofences
    }
}

También vale la pena señalar que, si está dentro de un geofence en el arranque, esto generalmente activará la intención pendiente del geofence una vez que el geofence se haya registrado.

Entonces, si, por ejemplo, el geofence inicia una aplicación, cuando inicia un dispositivo que está en el geofence, también abrirá la aplicación una vez que el receptor de difusión de inicio completo haya registrado el geofence, y los servicios de ubicación hayan funcionado donde usted son.

Espero que sea de alguna ayuda para alguien.

Respuestas a la pregunta(2)

Su respuesta a la pregunta