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:
- Dar localización falsa al emulador de Genymotion
- requestLocationUpdates () en un hilo independiente
- Cómo comprobar la ubicación de Mock en Android Marshmallow?
- Android - Cómo determinar si las coordenadas se encuentran en la carretera en Google Maps
- ACCESS_FINE_LOCATION Permisos de AndroidManifest no concedidos
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.
- MSecurityInputMethodService es nulo en logcat
- Obtener la ubicación de wifi ip en android
- Android: ¿Una forma sencilla de hacer una geofence?
- ¿Cómo encontrar mi ubicación actual (latitute + longitude) al hacer clic en un botón en android?
- La API de ubicación de Google Play Service devuelve una ubicación incorrecta a veces
- Android - cómo obtener la ubicación del amigo
- Pasar cadenas entre actividades en android
- Android: Obtener ubicación reciente solamente, no getLastKnownLocation?
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.
- ¿Cómo enviar KeyEvents a través de un servicio de método de entrada a un diálogo, o un menú de Spinner?
- ¿Alternativas para DOM API en Android?