Skip to content
Estrcutura coordenadas posición

Actualización posición geográfica dispositivo GPS Android

En este nuevo tutorial sobre Geolocalización en Android explicaremos cómo podemos mantener la posición del dispositivo GPS actualizada, controlando los posibles cambios que se produzcan. 

Una de las principales funciones que un dispositivo GPS debe implementar es la capacidad de actualizar en todo momento su localización, sin necesidad de interaccionar con el mismo. Para dicha tarea se dispone de la clase LocationManager y la interfaz LocationListener.

Mediante el siguiente ejemplo, se podrán controlar los cambios, tanto en las coordenadas del dispositivo (actualizando sus valores) como las que se realicen en el proveedor de ubicación del dispositivo:

  1. Comenzaremos en primer lugar por declarar un método, que no devolverá ningún valor y que solo será accesible por la clase que lo implementa:
  2. El siguiente paso consistirá en asignar a una variable de la clase LocationManager, a partir del nombre, el servicio de localización a nivel de sistema . Este servicio permite a la aplicación obtener actualizaciones periódicas de la localización geográfica del dispositivo:
  3. Se define la interfaz LocationListener, que implementa una serie de métodos, encargados de controlar en todo momento los cambios que se produzcan en la localización del sistema (recibirá notificaciones del LocationManager cuando se produzcan cambios):
  4. El método onLocationChanged() será llamado cuando cambie la localización. Recibe como parámetro de entrada una variable de tipo Location:
  5. El método onStatusChanged() será llamado cuando se produzcan cambios en el estado del proveedor. Recibe como parámetro de entrada una variable de tipo Location, además de un valor entero con el estado del proveedor:
    • 0:  proveedor fuera de servicio
    • 1:  proveedor temporalmente deshabilitado
    • 2 : proveedor habilitado

    y una variable de tipo Bundle para acceder a los datos del estado específico del proveedor:

  6. El método onProviderEnabled() será llamado cuando el proveedor esté habilitado para el usuario. Recibe como parámetro de entrada el proveedor del servicio de localización:

  7. El método onProviderDisabled() será llamado cuando el proveedor esté deshabilitado para el usuario. Recibe como parámetro de entrada el proveedor del servicio de localización:

  8. Por último se llama al método requestLocationUpdates(), cuya tarea será la de establecer la localización actualizada, recibiendo como parámetros de entrada el nombre del proveedor, el intervalo de tiempo entre cada actualización, distancia en metros entre localizaciones actualizadas, y la variable de tipo LocationListener que actualizará la localización en caso de producirse nuevos cambios:

Nota: En los siguientes enlaces podrás acceder a la documentación oficial sobre la clase LocationManager y la interfaz LocationListener.

Una vez implementado el método anterior, y lanzada la aplicación, se podrá comprobar como cualquier cambio en la localización del dispositivo GPS, producirá un mensaje en pantalla con las nuevas coordenadas. Además, si habilitamos/deshabilitamos la opción de ubicación del dispositivo desde los ajustes del teléfono, se mostrará un mensaje en pantalla indicando el estado del proveedor:

Diagrama Actualizar Coordenadas
Diagrama de Actualización de Coordenadas (pincha en la imagen para aumentarla)

En caso de que deseemos acceder a la pantalla que permita habilitar la ubicación del dispositivo desde nuestra propia aplicación, bastará con añadir la siguiente línea, que mostrará los ajustes de dicha opción:

En el próximo tutorial describiremos un proyecto Android en el que se visualizará la posición global del dispositivo móvil, mostrando los datos de latitud, longitud, altitud y precisión de la señal, y posteriormente se trasladarán dichos datos a un mapa de Google Maps.

Volver arriba
Esta web usa cookies para su correcto funcionamiento. No hay cookies de publicidad, aunque algunos de los contenidos mostrados (videos o documentos insertados) están alojados en servicios externos (Youtube, Vimeo, Box...) que sí pueden implementar sus propias cookies. También se ha incluido en pruebas un Agente AI que incluye sus propias cookies   
Privacidad