android - Fused Location 如何确定是使用 GPS 还是网络提供商?

我正在 Android 中开发一个向服务器报告位置的应用程序,我想实现由 Google 开发的新发布的 Fused Location API。在室内使用 setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY) 进行测试 立即让网络提供商获取位置。所以,我的问题是,在几秒钟内看到 Google 是什么来确定 gps 不是一个好的选择?我知道 gps 供应商在室内不能正常工作,但有时在我的办公室(平均需要 10 秒)它可以工作。谢谢

最佳答案

这个库本身不是开源的,但我相信我们可以就它如何执行您上面描述的操作达成一致:

如果 GPS 提供商被禁用,或者信号太弱,或者修复时间太长,那么它会返回最后已知的位置和/或网络提供商的位置。

似乎有道理。 我猜如果 GPS 不令人满意,网络提供商会在 PRIORITY_HIGH_ACCURACY 中充当 GPS 提供商的后备。

编辑

实际上,文档说:

PRIORITY_HIGH_ACCURACY

This will return the finest location available.

它并没有说它将使用 GPS 或完全优先考虑 GPS。它只会返回最好的位置,这并不总是 GPS,正如@cYrixmorten 指出的那样:在城市地区,wifi 热点通常更准确。

https://stackoverflow.com/questions/31475877/

相关文章:

asp.net - executionTimeout 发送响应

git - 使用仍在审查中的 Cherry pick 推送代码以供审查的工作流

php - DirectAdmin 上的 OPcache php5.5 已禁用

cmake - 带有特殊字符的 custom_command ECHO

php - 如何改进 PHP IMAP 的电子邮件提取

java - 如何在 Spring 批处理的作业上下文 xml 文件中使用 jobExecution

session - CakePHP 3 丢失身份验证 session

wpf - 右键单击 + 左键单击被视为拖放

android - AlertDialog 内的 DatePickerDialog(在特定的 Edi

java - 如何在不同网络的 NAT 后面的两个客户端之间建立 TCP 连接?