我在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