Vi este video en TEDEd sobre cómo tu teléfono inteligente sabe tu ubicación. ¿Cómo sabe tu teléfono inteligente tu ubicación? Si se determina utilizando un reloj atómico, ¿cómo logra un GPS falso falsificar la ubicación?
Respuesta
¿Demasiados anuncios?No puedes falsificar el GPS. Lo que puedes hacer es decirle a tu Android que le diga a las aplicaciones que estás en una ubicación diferente de la que realmente estás.
Esto es útil para el desarrollo. Si necesito probar si mi aplicación puede decir a qué velocidad estoy viajando, puedo hacer una de dos cosas:
- Correr afuera.
- Decirle al Sistema Operativo que simule mi ubicación.
La ventaja de la opción 2 es que puedes estar sentado dentro de tu oficina depurando tu aplicación.
La cuestión es que aún tienes que simular tus viajes. Para esto, Android tiene una API de "falsificar mi ubicación" que te permite escribir una aplicación que alimentará a tu aplicación (así como a todas las demás) con una ubicación falsa.
Esta es la razón por la cual la aplicación te dice que habilites "activar ubicaciones simuladas" (y también por qué esta característica está en "Opciones de desarrollador", ya que está escrita principalmente para ellos).
tl;dr
Tu aplicación no recibe señales de GPS. El Sistema Operativo lo hace. El Sistema Operativo solo pasa las coordenadas (junto con otros datos) a la aplicación. El GPS falso le dice al Sistema Operativo que falsifique la ubicación que está enviando a la aplicación.