我在docs看到对象Location有一个方法getTime()
。
在我的应用程序中,我需要服务器时间,但有时候,应用程序可能处于脱机状态,所以我别无选择。我很乐意使用Location.getTime,但我不清楚这个时间来自哪里?
Cel或GPS Satelite ???
当应用程序离线时获取当前小时数是否可靠?
答案 0 :(得分:0)
当您不需要非常精确的时间并且您只想知道日期时,无论精确的时间如何,它都很有用。因为文档说:
保证LocationManager生成的所有位置 有效的UTC时间,但请记住系统时间可能有 自位置生成以来已更改。
另外看看getElapsedRealtimeNanos()它似乎更精确。
答案 1 :(得分:0)
正如所讨论的in this question,Location.getTime()
返回
System.currentTimeMillis()
),如果Location.getProvider().equals(LocationManager.NETWORK_PROVIDER)
或
Location.getProvider().equals(LocationManager.GPS_PROVIDER)
由于GPS位置确定是基于精确时间的知识,我认为它至少与从服务器获得的时间一样可靠。 您可以将本地时区应用于GPS时间戳以获得人类可读时间,这可能等于正确同步的设备时间(在我的情况下,大多数设备没有,因此使用GPS时间更好)