How to get accurate timestamps from an Android GPS location

I am trying to get the GPS time for a location using location.getTime in a location receiver using GPS_PROVIDER in my requestLocationUpdates. I expected that the time provided would be from GPS hours - more precisely, to billionths of a second, but rounded to the millisecond. What I get depends on the platform, but does not seem to be what I expect.
In SGS 11 - Android 2.3.3, the return value is always the exact second, and the millisecond part is always .000. In my experience with GPS, it seems unlikely to me that every GPS survey will occur exactly on the entire second interval.
On HTC-A7275 Android 2.3.3 - I get the system time, of course, not GPS time.
I confirmed these results by messing with the phone and studying the time spent.
The timestamps in NMEA sentences on SGS 11 are provided at 3 decimal places, but on HTC they are all xxx.0. The problem with using NMEA is that it is really messy, getting the date and time and the full position from MNEA: only the GPGGA offer has a height, but it does not have a date stamp, so it gets complicated around midnight UTC.
I'm looking for the exact time - preferably up to a millisecond for my track recorder so that I can reliably compare tracks from different players. Has anyone done more work on this?

+5
source share
1 answer

GPS " " , , GPS, . , , GPS-, 1-2 .

Re: NTP Android, , 50-100 .

+1

All Articles