Android: Obtener una posición GPS rápidamente

Necesito encontrar una localización del GPS dentro de mi app que no necesita ser exacta (apenas alrededor de 1km de la exactitud) pero la necesito muy rápidamente ! (1s – 5s)

Registro a este oyente:

mlocListener = new MyLocationListener(); mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mlocListener); mlocManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, mlocListener); 

Pero eso lleva demasiado tiempo para encontrar una solución! ¿Alguien sabe un método con el que puedo encontrar la ubicación más rápido (básicamente sólo necesita la ciudad actual del dispositivo está en). ¡Gracias!

Para ello, puede definir sus criterios utilizando Criterios.

 public void setCriteria() { Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); criteria.setAltitudeRequired(false); criteria.setBearingRequired(false); criteria.setCostAllowed(true); criteria.setPowerRequirement(Criteria.POWER_MEDIUM); provider = locationManager.getBestProvider(criteria, true); } 

Para más información, consulte este enlace .

A continuación, utilice el proveedor para obtener su ubicación.

Espero que esto ayude …

Puesto que usted no necesita la localización getLastKnownLocation muy fina y usted la necesita rápidamente, usted debe utilizar getLastKnownLocation . Algo como esto:

 LocationManager lm = (LocationManager)act.getSystemService(Context.LOCATION_SERVICE); Criteria crit = new Criteria(); crit.setAccuracy(Criteria.ACCURACY_COARSE); String provider = lm.getBestProvider(crit, true); Location loc = lm.getLastKnownLocation(provider); 

Edit: Android dev blog tiene un buen post aquí en hacer esto. Este fragmento del blog itera sobre todos los proveedores de ubicación para obtener la última ubicación conocida. Esto parece ser lo que usted necesita

 List<String> matchingProviders = locationManager.getAllProviders(); for (String provider: matchingProviders) { Location location = locationManager.getLastKnownLocation(provider); if (location != null) { float accuracy = location.getAccuracy(); long time = location.getTime(); if ((time > minTime && accuracy < bestAccuracy)) { bestResult = location; bestAccuracy = accuracy; bestTime = time; } else if (time < minTime && bestAccuracy == Float.MAX_VALUE && time > bestTime){ bestResult = location; bestTime = time; } } } 
  • Número GPS de satélites y filtrado de ubicaciones
  • Navegador Android intención: abrir la aplicación de navegación con coordenadas GPS
  • GetLastKnownLocation devolviendo NULL
  • Android: el mejor método para calcular la distancia entre dos ubicaciones
  • Analizar datos NMEA en Android 2.3
  • Mocking gps lugares en la brecha telefónica
  • Android: comprueba si el GPS está buscando, tiene una corrección o no está en uso
  • Redirigir a la configuración de ubicación utilizando cordova en android
  • ¿Cómo encontrar si un punto GPS se encuentra en un conjunto determinado de inicio y fin ubicación GPS?
  • GPS de seguimiento de Android y WakeLock
  • gps falso para Android andando en virtual-box
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.