Android: la mejor manera de obtener una ubicación instantánea una vez por uso

Siempre tuve algunas dificultades para encontrar una buena manera para la ubicación instantánea del dispositivo. Lo que quiero hacer es una vez por uso de la aplicación (por ejemplo, cuando el onCreate de una actividad se llama) quiero saber las coordenadas del dispositivo en ese momento exacto y nunca pedir de nuevo. Lo que creo que podría ser la mejor manera es tener algo así como una clase estática con una función similar a:

coordinates getCoordinates(); 

¿Algún consejo / fragmento para dar?

Utilice LocationManager.getLastKnownLocation o LocationManager.requestSingleUpdate .

El primero volverá inmediatamente, pero puede devolver null si no hay ninguna ubicación disponible.

El segundo devolverá sus datos en una devolución de llamada, pero despertará cualquier proveedor que se necesite y obtendrá una buena ubicación (si es posible).

He encontrado lo que realmente estaba buscando en esta respuesta.

Sólo he añadido dos controles; yo compruebo si

  • gps_loc.getTime () (o net_loc.getTime ()) es mayor que System.currentTimeMillis () – 300000 (hace 5 minutos). En el método run () de la clase interna GetLastLocation;
  • location.getAccuracy () <100. En el método onLocationChanged () de ambos LocationListeners (red y GPS).

¡Espero eso ayude!

  • Obtener el nombre de la ciudad de la latitud y la longitud en androide da servicio no disponible Android 4.0.3?
  • Obtener el nombre de ubicación actual del usuario sin necesidad de utilizar gps o Internet, sino mediante Network_Provider en android
  • Cómo quitar un LocationListener de LocationManager que se agrega dos veces en android?
  • Cambio de idioma dentro de la aplicación Android
  • LocationManager devuelve la antigua ubicación en caché "Wifi" con la marca de hora actual
  • Android - Distancia entre dos ciudades
  • Android: cómo arreglar gps con simulacros (falso) de coordenadas?
  • No se puede obtener la ubicación en Genymotion VM
  • ¿Cómo obtener la ubicación actual de este código de mapa? También intento recibir datos del vehículo del servidor cuando estoy abierto el mapa
  • Obtención de velocidad mediante el API de ubicación de Google Play
  • Android - Cómo determinar si las coordenadas se encuentran en la carretera en Google Maps
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.