可以使用Android的FusedLocationApi获取最新数据(确切的当前位置)吗?

时间:2015-08-07 03:08:16

标签: android fusedlocationproviderapi android-fusedlocation

假设我正在使用FusedLocationApi的requestLocationUpdates,间隔为5分钟,因此我将获得一个不会超过5分钟的缓存位置数据。

然而,当用户按下按钮时,我想获取当前位置而不是要使用的缓存位置。我怎么能这样做?

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

问题2:FusedLocationApi有一个getLastLocation函数,我认为它也可能有5分钟的时间...因为没有getCurrentLocation函数,我们怎么能实现这个呢?

1 个答案:

答案 0 :(得分:0)

当然可以这样做。

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

使用 LocationListener

的实例

发出 PendingIntent

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

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

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