我正在创建一个Android应用,看到一些奇怪的东西。我正在使用位置和GPS,我想记录每个位置的“旧”(多长时间的位置)。但我不能排除旧设备,所以我不能使用Location.getElapsedRealtimeNanos()函数。但我也试过了。所以,这是我的代码:
// mLocationClient is a Play Services' LocationClient, I've connected, and did
// everything else, the doc says.
Location loc = mLocationClient.getLastLocation();
Log.v(TAG, "Current Unix epoch: " + new GregorianCalendar().getTimeInMillis());
Log.v(TAG, "Location's Unix time: " + loc.getTime());
Log.v(TAG, "RealTimeNanos: " + loc.getElapsedRealtimeNanos());
它提供了这样的东西:
Current Unix epoch: 1409308776449
Location's Unix time: 1409308735346
RealTimeNanos: 13620832279607
我想,currenttimemillis
- location'stimemillis
应为realtimenanos
/ 1.000.000。
currenttimemillis
- location'stimemillis
对我来说似乎是正确的,它的位置几乎是一分钟。这是可能的,我在这里有WiFi,我的GPS打开了,我正在玩这个应用程序一段时间,所以位置总是在使用。
但是realtimenanos
?如果我是对的,我会在几秒钟内得到1.000.000.000的分数。那是13620秒。这意味着,这就是mLocationClient给出的位置超过3个小时!这是不可能的,因为给定的坐标指向我的实际位置,直到1.5小时之前我才在这里。
你能帮助我,理解这一点吗?