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

How Fused Location determines if use GPS or Network provider?

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

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

如果 GPS 提供商被禁用,或者信号太弱,或者修复时间太长,那么它 return 是最后一个已知位置 and/or网络提供商的位置。

似乎有道理。 我想如果 GPS 不令人满意,网络提供商可以作为 PRIORITY_HIGH_ACCURACY 中 GPS 提供商的后备。

编辑

实际上,文档说:

PRIORITY_HIGH_ACCURACY

This will return the finest location available.

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