0

我正在创建一个应用程序,它通过前台服务中的 FusedLocationProviderApi 跟踪位置。

当我使用 PRIORITY_BALANCED_POWER_ACCURACY 创建 LocationRequest 并开始监听位置更新时,令我惊讶的是 GPS 启动(手机设置中的 Location 设置为高精度)。我几乎立即获得了位置(我猜是通过 wifi/蜂窝资源),但由于我在室内,我无法获得 GPS 定位,它只是不断尝试无休止......

即使我没有要求 PRIORITY_HIGH_ACCURACY,我也会因大量消耗电池而受到打击,并因使用 GPS 几分钟而受到指责。

  1. 有没有办法为 GPS 搜索设置超时(检测室内情况)?
  2. 是否可以在不自动触发 GPS 的情况下使用 FusedLocationProviderApi 获得一个不错的位置,还是我必须恢复到旧的位置 API?
  3. 我是否必须将每个 LocationRequest 限制为几分钟(setExpirationDuration)并创建一个新的以防止 GPS 电池耗尽?

[编辑]:我想我可能找到了另一个罪魁祸首。在应用程序的地图选项卡上,我设置了 setMyLocationEnabled(true),这似乎导致 GPS 突然爆发。我将进行更多实验并发布结果。我仍然对位置管理器如何决定在 GPS 修复尝试时足够多感兴趣。

提前致谢!

4

0 回答 0