Я работаю над приложением Android, в котором пытаюсь отследить движение устройства от службы.Служба регистрирует себя для обновлений местоположения, здесь мы проверяем, что мы запрашиваем «провайдера GPS», а не провайдера сети (который может быть неточным).
Во время разговора
publicvoid requestLocationUpdates (String provider, long minTime, float minDistance, LocationListener listener)
Поставщик "gps"
, а minTime и minDistance установлены на ноль, чтобы получить наилучшие возможные результаты.
Тем не менее, когда устройство неподвижно лежит на столе, оно получает обновления GPS, которые настолько отличаются друг от друга, что мы фактически получаем среднюю скорость (измеренную путем деления расстояния на интервал времени между обновлениями местоположения) больше, чем5 миль / ч в среднем за последние 5 обновлений местоположения.
Это полностью разрушает логику приложения.В чем может быть причина того, что устройство Android (EVO 4, HTC MyTouch) дает различные обновления местоположения, будучи полностью неподвижным?Кто-нибудь может предложить способ отсеять это неправильное обновление местоположения из правильных?
Буду благодарен за ваши отзывы.
Спасибо.
Pritam.
Обновление:
Наконец закончили мониторинг входа GPS в течение 30 секунд для регулярности обновлений и стабильной средней скорости и разницы во времени между обновлениями GPS.