0

假设我使用 FusedLocationApi 的 requestLocationUpdates 间隔为 5 分钟,所以我将有一个不会超过 5 分钟的缓存位置数据。

但是,例如,当用户按下按钮时,我想获取当前位置而不是要使用的缓存位置。我怎样才能做到这一点?

问题 1:有没有办法强制触发位置更新,所以我可以获得新的位置数据,而不是可能 5 分钟的旧数据?

问题 2:FusedLocationApi 有一个 getLastLocation 函数,我认为它也可能会提前 5 分钟。由于没有 getCurrentLocation 函数,我们如何实现这一点?

4

1 回答 1

0

你当然可以做到这一点。

因此,为了开始 5 分钟的间隔更新,您可以:

使用LocationListener的实例

或者

发出PendingIntent

使用 FusedLocationProvider API 中的 requestLocationUpdates() 方法。

您在问题中要求的此策略将返回“最新鲜”的位置。

您是对的, getLastKnownLocation() 仅在系统具有缓存位置时才有效。因此,要获取最新位置,请结束您最初请求的更新,然后以相同的时间间隔重新请求更新。

于 2015-08-07T04:48:27.407 回答