RequestLocationUpdates no se actualiza en intervalos en Android

Tengo el problema de que mi servicio que tiene el LocationListener implementado, recibe un GPSupdate cada 500ms parece. No importa lo que minTime que poner en la función requestLocationUpdates.

Pieza de mi código:

public class LocationService extends Service implements LocationListener { LocationManager locMan; @Override public int onStartCommand(Intent intent, int flags, int startId) { locMan = (LocationManager)getSystemService(Context.LOCATION_SERVICE); locMan.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER; locMan.requestLocationUpdates( LocationManager.GPS_PROVIDER, 60000, 1, this); } public void onLocationChanged(Location location) { Log.d( "Loc", "Location has been changed" ); } } 

Desde un botón en mi actividad principal voy a llamar a startService (), después de esto debe ejecutarse en segundo plano, pero ofrece actualizaciones continuas.

Veo algunas cosas mal con su situación:

La exactitud del GPS es en el mejor de los 3 metros, y eso es en condiciones óptimas. Por lo tanto, no tiene sentido solicitar una actualización si la posición cambia en 1 metro. El ruido del GPS podría estar indicando fácilmente el movimiento cuando de hecho el dispositivo está sentado todavía. Hacer el minDistance por lo menos 10 sería mi recomendación.

No veo por qué está llamando a isProviderEnabled () ya que no hace nada con el valor devuelto.

Usted dice que después de startService () las cosas deben estar ejecutándose en segundo plano, pero eso no es el caso. Un servicio no se ejecuta en segundo plano a menos que cree algún tipo de subproceso de fondo para ello. Hay demasiadas cosas que cubrir en esta respuesta para explicar cómo funcionan los servicios. Ir en línea y hacer un poco de lectura, o conseguir un buen libro en el desarrollo de Android.

  • Permisos de aplicaciones en Android Marshmallow en PhoneGap
  • Intervalo requestLocationUpdates en Android
  • Obtener la ubicación actual rápida y una vez en android
  • Problemas de permiso para la ubicación en android Marshmallow applicaton
  • Android GPS tarda un tiempo en ser preciso
  • No se puede obtener la ubicación en Genymotion VM
  • Cómo obtener el usuario Inicio / Lugar de trabajo de un usuario en Android
  • Android nGPS: obtener ubicación basada en el campo magnético en lugar de gps o triangulación de células
  • Uso del sensor de orientación para apuntar hacia una ubicación específica
  • Mantenga el servicio de ubicación activo cuando la aplicación esté cerrada.
  • ¿Cuál es el significado de dbm negativo en la fuerza de la señal?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.