Especificar los intervalos de Administrador de ubicaciones a la ubicación actual transmitido en Android

StackOverflow https://stackoverflow.com/questions/2566079

  •  23-09-2019
  •  | 
  •  

Pregunta

¿Hay alguna manera de especificar los intervalos de tiempo que el Administrador de ubicaciones transmite la ubicación actual?

Estoy utilizando un método llamado startListening:

public void startListening() {
        locationManager.requestLocationUpdates(
                LocationManager.GPS_PROVIDER, 
                0, 
                0, 
                this
        );
}

Gracias

¿Fue útil?

Solución

public void requestLocationUpdates (String provider, long minTime, float minDistance, LocationListener listener, Looper looper)

Registra la actividad actual para ser notificado periódicamente por el proveedor de llamada. Periódicamente, el LocationListener suministrado será llamada con la ubicación actual o con las actualizaciones de estado.

Se puede tomar un tiempo para recibir la ubicación más reciente. Si se requiere una localización inmediata, las aplicaciones pueden utilizar el método getLastKnownLocation (String).

En caso de que el proveedor está deshabilitada por el usuario, las actualizaciones se detendrá, y el método onProviderDisabled(String) será llamado. Tan pronto como el proveedor se habilita de nuevo, se llamará al método onProviderEnabled (String) y actualizaciones de ubicación se iniciará de nuevo.

La frecuencia de notificación puede ser controlado utilizando los parámetros minTime y minDistance. Si minTime es mayor que 0, el LocationManager potencialmente podría reposar durante milisegundos minTime entre las actualizaciones de ubicación para poder conservar. Si minDistance es mayor que 0, una ubicación única será transmitido si el dispositivo se mueve por metros minDistance. Para obtener notificaciones la mayor frecuencia posible, ajustar ambos parámetros a 0.

Servicios en segundo plano debe tener cuidado acerca de cómo establecer un nivel suficientemente alto minTime manera que el dispositivo no consume demasiada energía al mantener el GPS o radios inalámbricas en todo el tiempo. En particular, no se recomiendan valores bajo 60000ms.

El Looper suministrado se utiliza para implementar el mecanismo de devolución de llamada.

Parámetros

  • proveedor el nombre del proveedor con la que registrar
  • MinTime la intervalo de tiempo mínimo para notificaciones, en milisegundos. Esta campo sólo se utiliza como una sugerencia para conservar la energía, y el tiempo real entre las actualizaciones de localización pueden ser mayor o menor que este valor.
  • minDistance la distancia mínima intervalo para notificaciones, en metros
  • oyente una cuya onLocationChanged (Localización) método será llamado para cada actualización de la ubicación
  • looper un looper objeto cuya cola de mensajes será utilizado para implementar la devolución de llamada mecanismo.

Lanza

IllegalArgumentException si el proveedor es nulo o no existe
IllegalArgumentException si oyente es nula
IllegalArgumentException si looper es nula
SecurityException si no tiene permiso adecuado está presente para el proveedor.

Otros consejos

MinTime: el intervalo de tiempo mínimo para las notificaciones, en milisegundos . Este campo sólo se utiliza como una sugerencia para poder conservar y tiempo real entre las actualizaciones de ubicación puede ser mayor o menor que este valor.

minDistance: el intervalo de distancia mínima para las notificaciones, en m

    locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 9000, 500,locListener);

// 60000 es de 1 minuto y 100 es KM

Por encima de usted tiene 9000 (nueve segundos) y 500, que es si la ubicación se ha movido más de 500 km

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top