我在docs中看到對象位置有一個方法getTime()
。是否有可能從GPS獲取當前時間
在我的應用程序中,我需要服務器時間,但有時,應用程序可能處於脫機狀態,所以我沒有選擇獲取細胞時間。我很樂意使用Location.getTime,但是我不清楚這個時間是從哪裏來的?
Cel或GPS衛星電視?
這是獲取應用程序離線時的當前小時的可靠數據嗎?
我在docs中看到對象位置有一個方法getTime()
。是否有可能從GPS獲取當前時間
在我的應用程序中,我需要服務器時間,但有時,應用程序可能處於脫機狀態,所以我沒有選擇獲取細胞時間。我很樂意使用Location.getTime,但是我不清楚這個時間是從哪裏來的?
Cel或GPS衛星電視?
這是獲取應用程序離線時的當前小時的可靠數據嗎?
如果您不需要非常精確的時間,並且只是想知道日期而不考慮精確的時間,這很有用。由於作爲文檔說:
通過的LocationManager產生的所有位置都保證有 有效UTC時間,但是請記住,系統時間可能已經 改變,因爲生成的位置。
另外看看getElapsedRealtimeNanos()它看起來更精確。
如所討論的in this question,Location.getTime()
返回任一
System.currentTimeMillis()
)如果Location.getProvider().equals(LocationManager.NETWORK_PROVIDER)
或
Location.getProvider().equals(LocationManager.GPS_PROVIDER)
由於GPS定位是基於精確時間的知識,所以我認爲它至少與從服務器獲得的時間一樣可靠。 您可以將當地時區應用於GPS時間戳以獲取人類可讀的時間,這應該等於正確同步的設備時間(在我的情況下,大多數設備不是,所以使用GPS時間更好)。
是的,但問題是:這次來自哪裏 –
你應該閱讀這篇文章,非常簡單和有用:https://en.m.wikipedia.org/wiki/GPS_disciplined_oscillator – AMS
不要忘記,一些設備具有A-GPS,其可能取決於不同的方式來計算不僅在衛星上的位置,而且還使用WiFi網絡和附近的設備。我更喜歡你看看這篇文章:http://stackoverflow.com/questions/7017069/gps-time-in-android – AMS