gpt4 book ai didi

android - 使用 Google API 进行后台位置更新 - Fused Location Provider 不准确

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:45:59 25 4
gpt4 key购买 nike

我一直在使用 GoogleApiClient 进行后台位置更新并进行测试,以进行基于间隔和位移的更新。经过几天的测试和分析,我发现了一些出乎我意料的输出变化。

  1. 在使用 setIntervalsetFastestInterval 进行基于间隔的更新时,假设我已将 Interval 设置为 15 分钟最快间隔10 分钟,90% 的时间我在预期的间隔(10 到 15 分钟)内获得更新。但有时我注意到更新花费的时间比指定的间隔长得多,例如,差异大约是 30 分钟和 60 分钟。知道为什么会有差异吗?

  2. 在使用 setMinimumDisplacement 进行基于距离的更新时,假设我已将 Displacement 设置为 200 米,我只会收到更新在 200 米及以上的固定点(在旅行时,即使它超过 200 米,它也不会提供更新)。这是它正常工作的方式吗?

我正在使用 PendingIntent 类型的位置请求,以便在 BroadcastReceiver 中接收位置更新,以便在后台进行位置更新。

fusedLocationProviderClient.requestLocationUpdates(locationRequest, pendingIntent);

测试时,定位服务开启并且定位模式HIGH_ACCURACY

最佳答案

请参阅文档以获得 LocationRequest API 的正确行为。

LocationRequest Api documentation

来自本文档:

  • 应用程序无法指定 LocationClient 使用的确切位置源,例如 GPS。事实上,系统可能有多个位置源(提供者)在运行,并且可能将来自多个源的结果融合到一个位置对象中
  • 使用 ACCESS_COARSE_LOCATION 而不是 ACCESS_FINE_LOCATION 的应用程序的位置请求将被自动限制为较慢的间隔,并且位置对象将被混淆以仅显示粗略的准确度.
  • 所有位置请求都被视为提示,您可能会收到比请求更准确/更不准确、更快/更慢的位置

有关更多详细说明,请阅读上面链接中的完整文档。

希望这个解释能帮到你。

关于android - 使用 Google API 进行后台位置更新 - Fused Location Provider 不准确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47903703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com