RequestLocationUpdates - 如果 minDistance 或 minTime 更新位置

RequestLocationUpdates - update location if minDistance OR minTime

我有跟踪系统,我正在使用 Android RequestLocationUpdates 来获取有关用户位置更改的通知。方法有参数 minDistanceminTime。基本逻辑是,当满足这两个参数时调用通知 (minTime AND minDistance)。例如,如果满足 minTime OR minDistance,我想收到通知。

有什么解决办法吗?

您可以设置起始经纬度然后在

@Override
public void onLocationChanged(Location location) {
}

您可以获取新值,然后将它们发送到您的方法,以便它可以根据起始值检查新值。

关于计时,你也可以在乞讨时启动一个计时器,每隔一定的时间间隔检查一次,或者在onLocationChanged

时检查一次

可以并允许多次调用 requestLocationUpdates()

因此使用您请求的 minTime 调用它一次并将 minDistance 设置为 0,然后第二次调用它,将 minDistance 设置为您请求的 minDistance 并将 minTime 设置为某个小值甚至 0。

您可以将相同的 PendingIntent 传递给两个调用。