public void requestLocationUpdates (String provider, long minTime, float minDistance, LocationListener listener, Looper looper)
Регистрирует текущую активность, которую периодически уведомляет указанный провайдер. Периодически предоставляемый LocationListener будет вызываться с текущим местоположением или с обновлениями статуса.
Получение последнего местоположения может занять некоторое время. Если требуется непосредственное расположение, приложения могут использовать метод getLastKnownLocation (String).
Если поставщик отключен пользователем, обновления будут остановлены, и будет вызван метод onProviderDisabled(String)
. Как только поставщик будет снова включен, будет вызван метод onProviderEnabled (String), и обновления местоположения начнутся снова.
Частотой уведомления можно управлять с использованием параметров minTime
и minDistance
. Если minTime
больше 0, LocationManager потенциально может отдыхать в течение minTime
миллисекунд между обновлениями местоположения для экономии энергии. Если minDistance
больше 0, местоположение будет транслироваться, только если устройство перемещается на minDistance
метров. Чтобы получать уведомления как можно чаще, установите оба параметра на 0.
Фоновые службы должны быть осторожны при установке достаточно высокого значения minTime
, чтобы устройство не потребляло слишком много энергии, постоянно поддерживая GPS или беспроводное радио. В частности, значения ниже 60000 мс не рекомендуются.
Поставляемый Looper используется для реализации механизма обратного вызова.
Параметры
- провайдер название провайдера
с помощью которого можно зарегистрироваться
- минут
минимальный интервал времени для
уведомления в миллисекундах. это
поле используется только как подсказка
сохранить власть и реальное время
между обновлениями местоположения может быть
больше или меньше, чем это значение.
- minDistance минимальное расстояние
интервал для уведомлений, в метрах
- слушатель, чей onLocationChanged (Location)
метод будет вызываться для каждого
обновление местоположения
- петлитель Лупер
объект, чья очередь сообщений будет
используется для реализации обратного вызова
механизм.
Выдает
IllegalArgumentException
, если поставщик является нулевым или не существует
IllegalArgumentException
если слушатель нулевой
IllegalArgumentException
если петлитель равен нулю
SecurityException
если подходящего разрешения для провайдера нет.