Especificar intervalos para que el Administrador de ubicaciones transmita la ubicación actual en Android
¿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:
- Permiso de comprobación de Android para LocationManager
- La devolución de llamada OnLocationChanged nunca se llama
- ¿por qué location.getSpeed () siempre devuelve 0 mientras usa NETWORK_PROVIDER en android?
- Administrador de Ubicaciones ProxmityAlert siempre dice entrar
- ¿Por qué no se llama al método onProviderEnabled () de Android?
public void startListening() { locationManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, this ); }
Gracias
- LocationManager requestLocationUpdates no funciona
- Cómo obtener una referencia a LocationManager dentro de un fragmento
- ¿Cuál es el significado de android.location.LocationManager.PASSIVE_PROVIDER?
- La llamada requiere permisos que pueden ser rechazados por el usuario.
- IsProviderEnabled (LocationManager.NETWORK_PROVIDER) devuelve false
- Cómo utilizar Android LocationManager y Listener
- Error de tiempo de ejecución: java.lang.IllegalArgumentException: provider = gps
- SetTestProviderLocation () no activa la llamada de onLocationChanged ()
public void requestLocationUpdates (String provider, long minTime, float minDistance, LocationListener listener, Looper looper)
Registra la actividad actual para ser notificada periódicamente por el proveedor nombrado. Periódicamente, el LocationListener suministrado se llamará con la ubicación actual o con actualizaciones de estado.
Puede tardar un poco en recibir la ubicación más reciente. Si se requiere una ubicación inmediata, las aplicaciones pueden utilizar el método getLastKnownLocation (String).
En caso de que el proveedor esté deshabilitado por el usuario, las actualizaciones se detendrán y se onProviderDisabled(String)
método onProviderDisabled(String)
. Tan pronto como el proveedor se vuelve a habilitar, se llamará al método onProviderEnabled (String) y las actualizaciones de ubicación volverán a iniciarse.
La frecuencia de notificación se puede controlar utilizando los parámetros minTime
y minDistance
. Si minTime
es mayor que 0, LocationManager podría descansar durante milisegundos minTime
entre actualizaciones de ubicación para ahorrar energía. Si minDistance
es mayor que 0, sólo se emitirá una ubicación si el dispositivo se mueve por los minDistance
de minDistance
. Para obtener notificaciones tan frecuentemente como sea posible, establezca ambos parámetros en 0.
Los servicios de fondo deben tener cuidado al establecer un minTime
suficientemente alto para que el dispositivo no consuma demasiada energía manteniendo el GPS o los radios inalámbricos todo el tiempo. En particular, no se recomiendan valores inferiores a 60000ms.
El Looper suministrado se utiliza para implementar el mecanismo de devolución de llamada.
Parámetros
- Nombre del proveedor con el que registrarse
- MinTimar el intervalo de tiempo mínimo para las notificaciones, en milisegundos. Este campo sólo se utiliza como una pista para ahorrar energía y el tiempo real entre actualizaciones de ubicación puede ser mayor o menor que este valor.
- MinDistancia el intervalo mínimo de distancia para las notificaciones, en metros
- Listener a cuyo método onLocationChanged (Location) se llamará para cada actualización de ubicación
- Looper un objeto Looper cuya cola de mensajes se utilizará para implementar el mecanismo de devolución de llamada.
Lanza
IllegalArgumentException
si el proveedor es nulo o no existe
IllegalArgumentException
si el oyente es null
IllegalArgumentException
si IllegalArgumentException
es nulo
SecurityException
si no hay permiso adecuado para el proveedor.
MinTime: el intervalo de tiempo mínimo para notificaciones, en milisegundos . Este campo sólo se utiliza como una pista para ahorrar energía y el tiempo real entre actualizaciones de ubicación puede ser mayor o menor que este valor.
MinDistance: el intervalo de distancia mínima para notificaciones, en metros
locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 9000, 500,locListener);
// 60000 es 1 minuto y 100 es KM
Sobre usted tiene 9000 (nueve segundos) y 500 que es si la localización se ha movido más de 500KM
- Android: evento back (device back button) en Titanium no funciona
- Biblioteca a recursos de cifrado y descifrado