2012-04-22 98 views
5

我想要獲取位置使用location.getTime位置監聽器在我的requestLocationUpdates使用GPS_PROVIDER位置的GPS時間。我期待提供的時間是GPS時鐘的精確時間 - 精確到十億分之一秒,但四捨五入到毫秒。我得到的東西取決於平臺,但當然似乎並不是我期望的。
在SGS 11 - Android 2.3.3上,返回的值始終是精確的秒,毫秒部分總是.000。根據我對GPS的經驗,在我看來,GPS的每次輪詢都不會發生在整個第二個時間間隔內。
在HTC-A7275 Android 2.3.3上 - 我得到手機的系統時間,當然不是GPS時間。
我通過弄亂手機的時間和檢查位置時間來確認這些發現。
SGS 11上的NMEA句子中的時間戳記提供給一秒3位小數,但在HTC上它們都是xxx.0。使用NMEA的問題是,從MNEA獲取日期和時間以及完整位置非常麻煩:只有在GPGGA句子中有高度,但沒有日期戳記,因此在午夜UTC附近會變得棘手。
我正在尋找精確的時間 - 最好是我的軌跡記錄器的毫秒數,以便我可以可靠地比較來自不同玩家的軌跡。 有沒有人對此做過更多的工作?
如何從Android的GPS位置獲得準確的時間戳

回答

1

昂貴的GPS裝置使用「脈衝每秒」協議來實現亞毫秒級的精度,但是我還沒有聽說過我們手機中廉價的GPS接收器上可用的協議或接口。因此,使用GPS信息所能達到的最佳精度在1-2秒範圍內。

回覆:Android上的NTP,它是更好的解決方案,但在當代無線網絡上不可能達到超過50-100ms的時鐘精度。

+0

我遇到了與GPS時間相同的問題。在我得到第一個修復程序後,計時如下:1379708393916,1379708394803,1379708395803等等,直到時間開始四捨五入到第二個 - 1379708405000,1379708406000,1379708407000。不知道爲什麼?有誰知道這是爲什麼?我曾嘗試使用有源天線和無源天線。 – Sarvavyapi 2013-09-20 20:30:02

相關問題