Как автоматически приостановить GPS-трекер, когда пользователь не движется - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть вопрос, состоящий из двух частей (1) Как приостановить отслеживание активности, когда пользователь не двигается, (2) и может ли это сэкономить заряд батареи?

Немного больше информации. Я создаю трекер активности, но для деятельности, которая обычно включает много пауз - например. 30 минут пешком, ожидание 60-120 минут, затем 30 минут пешком и т. д.

Поскольку общее отслеживание может занять до 3-4 часов, было бы полезно максимально сократить потребление заряда аккумулятора. Также было бы хорошо, чтобы ломаная линия активности не включала много вперед и назад из-за неточности GPS, когда пользователь находится в заданном месте в течение более длительного периода времени.

Итак, вернемся к вопросам. (1) Как использовать swift, чтобы определить, когда пользователь стоит на месте, и приостановить слежение за полилинией (2), это сэкономит заряд батареи?

1 Ответ

0 голосов
/ 27 апреля 2018

Вы должны заглянуть в startMonitoringSignificantLocationChanges() ( документация здесь ).

Это описание по указанной выше ссылке соответствует вашим потребностям:

После возврата текущего местоположения, получатель генерирует обновление события, только когда существенное изменение местоположения пользователя обнаружено.

Скорее всего, вы захотите включить эту проверку, чтобы убедиться, что можете использовать вышеуказанную функцию:

significantLocationChangeMonitoringAvailable ()

Возвращает логическое значение, указывающее, является ли существенное изменение услуга определения местоположения доступна.

...