android google-maps gps android-location

android - getLastKnownLocation() devuelve nulo



google-maps gps (1)

¿Hay algo que me falta sobre cómo resolver esto?

Las radios GPS se apagan normalmente, ya que son la mayor descarga de la batería. Por lo tanto, getLastKnownLocation() puede devolver con frecuencia una ubicación null o obsoleta, porque nada está buscando correcciones de ubicación. getLastKnownLocation() , por lo tanto, solo es útil si tiene un interés casual en la ubicación y está contento si no hay una ubicación.

Si necesita conocer la ubicación, deberá usar requestLocationUpdates() o algo similar, para que Android encienda la radio GPS e intente activamente encontrar la ubicación.

He leído muchas preguntas y respuestas sobre este tema aquí en SO, pero tengo que decir que ninguno de ellos funciona.

Mi problema es que, aunque tengo el GPS habilitado, no puedo obtener una ubicación a menos que abra Google Maps y obtenga mi ubicación y luego regrese a la aplicación, que definitivamente no es una opción para los usuarios.

Tengo la siguiente función para obtener la ubicación.

public Location getCurrentLocation() { LocationManager locationManager = (LocationManager) context .getSystemService(Context.LOCATION_SERVICE); Criteria criteria = new Criteria(); String provider = locationManager.getBestProvider(criteria, true); Location myLocation = locationManager.getLastKnownLocation(provider); return myLocation; }

¿Hay algo que me falta sobre cómo resolver esto? También probé este http://developer.android.com/training/location/retrieve-current.html#last-known pero aún devuelve nulo.

Gracias por adelantado