android - 位置客户端相对于 setInterval、setFastestInterval 和 setSmallestDisplacement 的优先级?

标签 android google-play-services fusedlocationproviderapi

如果

locationClient.setInterval(60*1000);  
locationClient.setSmallesDisplacement(10);       
locationClient.setFastestInterval(1000);   

给定了,那么什么时候调用updates呢?如果用户在 60 秒内移动了 10 米,是否会调用位置更新?或者如果用户在 60 秒内没有移动任何距离,可以获取更新吗?如果一次使用所有属性,哪个优先?

我已经在我的应用程序中使用了所有这些。但是,它仅在位移为 1 米且间隔为 30 秒时才有效。当位移增加到 20mts 并保持相同的间隔时,会得到更奇怪的结果。

最佳答案

具有 10m 位移和 60 秒间隔 并且没有 fastestInterval 值。 Google Play 位置服务将尝试每 60 秒 获取一次位置,看看它是否为 10m,如果是,它将调用 onLocationChanged,否则它将丢弃该值。

现在使用 fastestInterval = 1,如果它的位置值在 1 秒 内并且位移超过 10m 那么您将在 onLocationChanged

中接收位置

关于android - 位置客户端相对于 setInterval、setFastestInterval 和 setSmallestDisplacement 的优先级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24885001/

相关文章:

使用 FusedLocationProviderApi 进行 Android 定位

android - 指定为非空的参数为空 : method kotlin. jvm.internal.Intrinsics.checkParameterIsNotNull,参数 convertView

Android图像困惑?

java - removeDialog()、dismissDialog() 和 dismiss() 的区别

android - 在 xamarin 中查找版本并强制更新

firebase - 所有 gms/firebase 库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)

java - Android 项目构建成功但运行失败,错误为 : java. util.zip.ZipException:重复条目

java - 使用 Fused Location API 和应用程序意外崩溃

android - 在 React Native 中按下按钮时一个接一个地附加 TextInput 组件

Android:使用 Fused Location Provider 检查是否启用了位置服务