从GPS获取当前时间是否可行

时间:2017-03-16 23:41:41

标签: android gps

我在docs看到对象Location有一个方法getTime()

在我的应用程序中,我需要服务器时间,但有时候,应用程序可能处于脱机状态,所以我别无选择。我很乐意使用Location.getTime,但我不清楚这个时间来自哪里?

Cel或GPS Satelite ???

当应用程序离线时获取当前小时数是否可靠?

2 个答案:

答案 0 :(得分:0)

当您不需要非常精确的时间并且您只想知道日期时,无论精确的时间如何,它都很有用。因为文档说:

  

保证LocationManager生成的所有位置   有效的UTC时间,但请记住系统时间可能有   自位置生成以来已更改。

另外看看getElapsedRealtimeNanos()它似乎更精确。

答案 1 :(得分:0)

正如所讨论的in this questionLocation.getTime()返回

  • 设备时间(System.currentTimeMillis()),如果Location.getProvider().equals(LocationManager.NETWORK_PROVIDER)

  • GPS(卫星)时间(以毫秒为单位但精度为1秒)Location.getProvider().equals(LocationManager.GPS_PROVIDER)

由于GPS位置确定是基于精确时间的知识,我认为它至少与从服务器获得的时间一样可靠。 您可以将本地时区应用于GPS时间戳以获得人类可读时间,这可能等于正确同步的设备时间(在我的情况下,大多数设备没有,因此使用GPS时间更好)