-2

我正在开发一个 Android 应用程序,我在其中使用设备的当前位置。我正在使用获取更新requestLocationUpdates("gps", 5000, 0, new LocationDetector());的方法。我正在利用我设备的当前位置的LocationManager内部onLocationChanged()方法。LocationListener现在:

问题#1:我记录了由"gps"以及由检测到的当前位置NETWORK_PROVIDER有一些错误(错误意味着我的设备的位置与“gps”或“network_provider”返回的位置不完全一致)。所以我想知道"gps"and的结果中可能存在的最大误差是NETWORK_PROVIDER多少?有什么方法可以从"gps"和得到准确的结果NETWORK_PROVIDER

问题#2:在我的设备中,"gps"不能在封闭区域(如房间)内工作,所以我想利用"gps"以及NETWORK_PROVIDER获取位置更新。所以当我的设备"gps"不工作时,我应该自动通过NETWORK_PROVIDER. 所以请告诉我该怎么做?

4

1 回答 1

1

问题 1

每个提供商都有优点和缺点,gps 提供更准确的结果和更多的电力使用。网络提供商提供的结果准确度较低,但功耗较低。您可以将 gps 和网络提供商结合起来,但已经有一个提供商可以为您提供所有内容:融合位置提供商

问题2

是的,您可以在 gps 提供程序上实现一个简单的超时机制。因此,当超时时,启动网络提供商的位置请求。

但我建议观看此视频。所以这很好地解释了你的第二个问题。

于 2016-05-10T16:00:50.223 回答