Я использую FusedLocationProviderClient для получения обновлений местоположения следующим образом:
val locationRequest = LocationRequest().apply {
interval = 5000
fastestInterval = 5000
priority = LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY
}
fusedLocationClient.requestLocationUpdates(locationRequest, locationCallback, Looper.getMainLooper());
Это работает, когда я указываю разрешение манифеста ACCESS_FINE_LOCATION
Однако это не работает в следующая ситуация:
- Укажите разрешение манифеста
ACCESS_COARSE_LOCATION
- Очистить кеш местоположения путем включения и выключения настройки местоположения системы
Кажется например, разрешение ACCESS_COARSE_LOCATION
предоставляет мне только последнее известное местоположение, а не фактически делает новый запрос местоположения. Это работает, когда в кэше местоположений существует последнее известное местоположение. Однако после очистки этого кеша я не получаю никаких обновлений местоположения.
tl; dr Я не получаю обновления местоположения при использовании разрешения ACCESS_COARSE_LOCATION
в сочетании с очищенным кешем местоположения.
Обратите внимание, что я тестировал это как в Wi-Fi, так и в сотовых сетях.
Кто-нибудь знает, что может быть причиной этого?