Ubicación simulada en Xiaomi: MIUI y HyperOS
La queja «activo la simulación y a los dos minutos todo vuelve atrás» llega casi siempre desde teléfonos Xiaomi, Redmi y POCO. La causa no es la aplicación: MIUI y HyperOS gestionan los procesos en segundo plano con más rigor que Android puro y cierran el servicio que mantiene la simulación. A continuación, qué ocurre exactamente y qué tres ajustes lo solucionan.
Activa el inicio automático para la aplicación
Ajustes → Aplicaciones → Administrar aplicaciones → Mock Location → «Inicio automático» (en algunas versiones, «Ejecutar en segundo plano»). Es el más importante de los tres ajustes: sin él, tras cerrar el proceso, el sistema no lo recupera, y la simulación no se restaura hasta que abras la aplicación a mano.

Quita las restricciones de batería
En esa misma pantalla de la aplicación, busca «Ahorro de batería» o «Control de actividad» y elige «Sin restricciones». En este modo, el firmware deja de dormir el servicio en segundo plano a su criterio.

Bloquea la aplicación en recientes
Abre la lista de aplicaciones recientes y arrastra hacia abajo la tarjeta de Mock Location: aparece un icono de candado. Las aplicaciones bloqueadas no se cierran al limpiar la lista con la «X» ni al deslizar «borrar todo».

Comprueba que la simulación se mantiene
Activa la simulación, minimiza la aplicación y deja el teléfono quieto de diez a quince minutos. Después comprueba: la notificación debe seguir en el panel y otra aplicación de mapas debe seguir mostrando el punto elegido.

Qué pasa por dentro
El firmware cierra el proceso de la aplicación: en los registros del sistema se ve como una detención forzada decidida por el sistema. Después, los proveedores de prueba siguen registrados en Android con el último valor escrito, pero nadie escribe coordenadas nuevas en ellos: el proceso que los creó ya no existe.
Desde fuera parece que «la simulación se ha congelado»: la coordenada sigue igual, pero deja de actualizarse, y al cabo de un tiempo el sistema vuelve a la ubicación real.
Qué hace la aplicación por sí sola
Dos mecanismos de recuperación funcionan sean cuales sean los ajustes del firmware. Primero: al abrirse, la aplicación compara el estado guardado con el real y, si el proceso murió, recupera la simulación; este camino siempre funciona. Segundo: un temporizador de vigilancia comprueba periódicamente el estado en segundo plano e intenta recuperar el servicio por sí mismo.
Pero ambos tienen un límite: si el firmware prohíbe a la aplicación iniciarse en segundo plano, el servicio no se puede recuperar sin ti, porque en ese momento el código simplemente no se ejecuta.
Por qué el inicio automático importa más que los otros ajustes
La diferencia se puede medir. Con el inicio automático desactivado, el sistema no reinicia el servicio en absoluto tras cerrar el proceso: la recuperación solo ocurre cuando abres tú la aplicación. Con el inicio automático activado, el sistema recupera el servicio cerrado en unos tres segundos, la aplicación retoma el estado guardado y sigue simulando sin que intervengas.
Así que, si solo haces uno de los tres ajustes, que sea el inicio automático.
Recuperación tras un reinicio
Una ubicación simulada activa se restaura automáticamente al arrancar el teléfono, con el evento más temprano del sistema, incluso antes de desbloquear la pantalla. En un teléfono con PIN es la única forma de recuperar la simulación sin esperar a que cojas el teléfono.
Una medición en un dispositivo real con HyperOS mostró por qué importa: la cola temprana de eventos de arranque llega a la aplicación en algo más de un segundo, mientras que la normal tarda diecisiete segundos, porque delante en la cola van el actualizador del sistema, los servicios en la nube y las apps bancarias.
Los mismos ajustes en otras capas
Un comportamiento parecido se da en Huawei (Ajustes → Batería → Inicio de aplicaciones → desactiva la gestión automática para la aplicación), Samsung (Ajustes → Mantenimiento del dispositivo → Batería → Límites de uso en segundo plano), OPPO, realme y vivo. Los nombres cambian, pero la idea es la misma: permitir que la aplicación funcione en segundo plano y excluirla del ahorro de batería agresivo. Si la simulación sigue cortándose, consulta las causas habituales.