Как получить точные временные метки из GPS-местоположения Android

Я пытаюсь получить время GPS для местоположения, используя location.getTime для прослушивателя местоположения, используя GPS_PROVIDER в моем запросеLocationUpdates. Я ожидал, что предоставленное время будет временем по часам GPS -с точностью до миллиардных долей секунды, но округленным до миллисекунды. То, что я получаю, зависит от платформы, но, конечно, это не то, что я ожидаю.
В SGS 11 -Android 2.3.3 возвращаемое значение всегда равно точной секунде, а миллисекундная часть всегда равна 0,000. Из моего опыта работы с GPS мне кажется маловероятным, что каждый опрос GPS будет происходить ровно на всем секундном интервале.
На HTC-A7275 Android 2.3.3 -я получаю системное время телефона, а не время GPS.
Я подтвердил эти выводы, поэкспериментировав со временем телефона и изучив время местоположения.
Отметки времени в предложениях NMEA на SGS 11 предоставляются с точностью до 3 знаков после запятой, а на HTC все они имеют размер xxx.0. Проблема с использованием NMEA заключается в том, что очень сложно получить дату, время и полную позицию из MNEA. :Только в предложении GPGGA есть высота, но нет отметки даты, поэтому около полуночи UTC становится сложно.
Я ищу точное время -желательно до миллисекунды для моего регистратора треков, чтобы я мог достоверно сравнивать треки с разных проигрывателей. Кто-нибудь еще работал над этим?

6
задан StarTraX 22 April 2012 в 07:50
поделиться