Android – Obtener ubicación sólo una vez

Necesito obtener la ubicación del usuario actual en una aplicación para Android, así que he leído algunos tutoriales y muestras en la web, pero veo que en todos los ejemplos, la ubicación es retrived de un "onLocationChange" que significa que cada vez que el Cambio de ubicación, se ejecuta el código en "onLocationChange".

Sólo necesito obtener la ubicación del usuario en el momento en que se inicia la aplicación.

¡Gracias por tu ayuda!

Puede hacerlo con LocationManager. GetLastKnownLocation

Puede obtener la última ubicación con el código siguiente. Obtiene los proveedores de ubicación y bucles sobre la matriz hacia atrás. Es decir, comienza con GPS, si no hay GPS entonces obtiene la ubicación de la red. Puede llamar a este método siempre que necesite obtener la ubicación.

private double[] getGPS() { LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); List<String> providers = lm.getProviders(true); /* Loop over the array backwards, and if you get an accurate location, then break out the loop*/ Location l = null; for (int i=providers.size()-1; i>=0; i--) { l = lm.getLastKnownLocation(providers.get(i)); if (l != null) break; } double[] gps = new double[2]; if (l != null) { gps[0] = l.getLatitude(); gps[1] = l.getLongitude(); } return gps; } 

Ponga esto en la actividad principal:

 boolean bFirst = true; function void onCreate(blabla) { if(bFirst) { //Do your stuff to get the location bFirst = false; } } 

Ponga lo mismo en onResume ();

Para el método getGPS() que Phobos propuso trabajar correctamente, debes permitir el acceso dentro de tu AndroidManifest.xml

Que se deshace de su error de recibir 0.0

Añadir estas líneas:

 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.LOCATION_HARDWARE" /> 
  • Obtener usuario actual Ubicación android
  • Solicitud del gestor de localizaciónLocalizaciónUpdates llamados una sola vez
  • Cómo obtener la ubicación del usuario Android
  • No se puede encontrar la ubicación actual dentro del fragmento
  • Maps api v2 android Mi ubicación no funciona en 2.3.3
  • ¿Cómo puedo decidir qué intervalo usar para requestLocationUpdates?
  • ¿Cómo funciona? RequestLocationUpdates () + LocationRequest / Listener
  • Cambiar la ubicación de descarga predeterminada
  • Cómo serializar para la clase android.location?
  • Android cómo usar location.distanceTo ()
  • Android play services 6.5: LocationClient falta
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.