FusedLocationProviderClient не предоставляет грубые обновления местоположения - PullRequest
0 голосов
/ 17 июня 2020

Я использую FusedLocationProviderClient для получения обновлений местоположения следующим образом:

val locationRequest = LocationRequest().apply {
    interval = 5000
    fastestInterval = 5000
    priority = LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY
}

fusedLocationClient.requestLocationUpdates(locationRequest, locationCallback, Looper.getMainLooper());

Это работает, когда я указываю разрешение манифеста ACCESS_FINE_LOCATION

Однако это не работает в следующая ситуация:

  1. Укажите разрешение манифеста ACCESS_COARSE_LOCATION
  2. Очистить кеш местоположения путем включения и выключения настройки местоположения системы

Кажется например, разрешение ACCESS_COARSE_LOCATION предоставляет мне только последнее известное местоположение, а не фактически делает новый запрос местоположения. Это работает, когда в кэше местоположений существует последнее известное местоположение. Однако после очистки этого кеша я не получаю никаких обновлений местоположения.

tl; dr Я не получаю обновления местоположения при использовании разрешения ACCESS_COARSE_LOCATION в сочетании с очищенным кешем местоположения.

Обратите внимание, что я тестировал это как в Wi-Fi, так и в сотовых сетях.

Кто-нибудь знает, что может быть причиной этого?

...