¿Cómo puedo evitar la suplantación de GPS / Geo Location en una aplicación de Android?

  • Compruebe si las ubicaciones simuladas están habilitadas .
    if (Settings.Secure.getString (getContentResolver (), Settings.Secure.ALLOW_MOCK_LOCATION) .equals (“0”))

falso retorno;
de lo contrario devuelve verdadero;

  • Los proveedores de ubicaciones simuladas no envían ni reciben datos NMEA. NMEA es solo un estándar destinado a comunicar o recibir datos GPS. Por lo tanto, cree un escucha NMEA y si no recibe ninguna actualización NMEA pero la ubicación aún se cambia en onLocationChanged (), entonces la ubicación ha sido falsificada con seguridad.
    GpsStatus.NmeaListener | Desarrolladores de Android
  • Otra idea es eliminar proveedores de prueba con LocationManager utilizando el método removeTestProvider () antes de solicitar actualizaciones de ubicación.

Todos estos métodos no son una prueba completa y las personas con dispositivos rooteados aún pueden falsificar las ubicaciones de GPS.