Pregunta

Estoy tratando de recuperar la ubicación actual del dispositivo utilizando el GPS del dispositivo. Cuando me registro para actualizaciones (como se muestra a continuación) para LocationManager.GPS_PROVIDER No hay actualizaciones en marcha, sin embargo, cuando hago lo mismo para LocationManager.NETWORK_PROVIDER Recibo las actualizaciones.

Lo he probado en mi dispositivo Android (no en el emulador). También me he asegurado de que el GPS esté encendido. Otras aplicaciones (no las mías) pueden acceder a mi ubicación. ¿Que me estoy perdiendo aqui?

LocationListener locationListener = new LocationListener() {
    @Override
    public void onLocationChanged(Location location) {
            locationRetrieved(location, this);
    }

    public void onStatusChanged(String provider, int status, Bundle extras) {}

    public void onProviderEnabled(String provider) { }

    public void onProviderDisabled(String provider) { providerDisabled(); }
};

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
¿Fue útil?

Solución

El inicio del GPS no es un proceso instantáneo. El receptor básicamente tiene que conocer la posición de cada uno de los satélites GPS en la constelación para calcular su ubicación

¿Está revisando primero si hay una última ubicación conocida que puede usar? La mayoría de las aplicaciones primero lo verifican y luego buscan una ubicación.

Otros consejos

Debe verificar que su teléfono esté permitiendo la recopilación de ubicación con GPS.

Probily lo que está sucediendo es que en Configuración -> Ubicación solo tiene la casilla de verificación para la ubicación inalámbrica. Si es así, el GPS_Provider no funciona.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top