Mar*_*igo 2 android location-services
我需要确保我使用的位置是新鲜的:
有没有办法知道返回的位置结果有多旧LocationServices.FusedLocationApi.getLastLocation?
如果不是:如果我向LocationServices.FusedLocationApi.requestLocationUpdates(使用setNumUpdates(1)和setMaxWaitTime(0))注册一个位置侦听器,那么如果位置与返回的位置相比没有更改,它会更新吗LocationServices.FusedLocationApi.getLastLocation?
小智 6
是的,有一个非常简单的方法。getTime()您可以通过如下调用来获取位置修复的时间:
Location currentLocation = LocationServices.FusedLocationApi.getLastLocation(apiClient);
long locationAge = System.currentTimeMillis() - currentLocation.getTime();
if (locationAge <= 60 * 1000) { // not older than 60 seconds
// do something with the location
}
Run Code Online (Sandbox Code Playgroud)
文档建议不要使用 System.currentTimeMillis() 进行时间比较,但我从未遇到过这种方法的任何缺陷。但是,您应该考虑阅读(简短的)文档:
https://developer.android.com/reference/android/location/Location.html#getTime()
| 归档时间: |
|
| 查看次数: |
911 次 |
| 最近记录: |