Интервал обновления местоположения у провайдера Fused

Я сталкиваюсь с одной проблемой. Я использую Fused Location Provider, и в документации он пишет, что когда мы используем высокий приоритет, мы будем получать обновления каждые 5 секунд, но я просмотрел некоторый учебник, и этот парень написал эту функцию

protected void createLocationRequest(){
    mLocationRequest=new LocationRequest();
    mLocationRequest.setInterval(INTERVAL);
    mLocationRequest.setFastestInterval(FASTEST_INTERVAL);
    mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
}

Этот ИНТЕРВАЛ составляет 10 секунд. Означает ли это, что я буду получать обновления каждые 10 секунд или 5 секунд (как он пишет в документах за использование высокого приоритета)? Заранее спасибо.

1 ответ

Решение

Интервал 10 секунд: Вы будете получать обновления местоположения примерно каждые 10 секунд. Но это приблизительно, это может дать местоположение меньше или больше чем 10 секунд.

самый быстрый интервал: это значение должно быть меньше значения интервала. Хорошо, мы знаем, что обновления местоположения придут к нам примерно через 10 секунд (более или менее). здесь самое быстрое средство, я не хочу получать обновления местоположения ниже этого значения (самый быстрый интервал)

Предположим, что у вас есть параметры ниже

  • Интервал: 10 секунд
  • Самый быстрый интервал: 5 секунд

И возможный результат может быть как ниже (предположение)

01:00:00 (запрошено)

01:00:12 (обновление местоположения, 12 секунд)

01:00:22 (обновление местоположения, 10 секунд)

01:00:30 (обновление местоположения, 8 секунд)

01:00:38 (обновление местоположения, 8 секунд)

01:00:46 (обновление местоположения, 8 секунд)

01:00:52 (обновление местоположения, 6 секунд)

01:00:59 (обновление местоположения, 7 секунд)

...

Результат: вы получили обновления местоположения около 10 секунд и более 5 секунд

Другие вопросы по тегам