1

我的应用程序需要用户的当前位置。为此,我已经实现了代码,并且能够获取当前位置。该代码首先尝试获取最佳提供商,然后获取位置信息。问题是如果 GPS_PROVIDER 被禁用,则从 NETWORK_PROVIDER 返回当前位置。如果 NETWORK_PROVIDER 和 GPS_PROVIDER 都启用了,那么最好的提供者将是 GPS_PROVIDER,这会花费太多时间来获取当前位置。

所以,如果我们只将位置提供者设置为 NETWORK_PROVIDER,这样是否启用 GPS_PROVIDER 就无关紧要了。

请让我知道什么是正确的方法。

问候

苏尼尔

4

2 回答 2

1

根据您的应用程序,您可能只能使用网络位置。这对于许多基于位置的服务来说已经足够细了。此外,您不必担心 GPS 无线电会耗尽用户的电池电量。

但是,如果您真的想要尽可能准确的位置,为什么不听两个提供商的意见呢?您可以将该getLastKnownLocation()方法用于初始位置。然后,您可以使用该NETWORK_PROVIDER位置。然后,一旦您从 中获得修复GPS_PROVIDER,您就可以忽略或删除网络侦听器。

于 2010-08-10T13:37:55.227 回答
0

GPS 比网络提供商提供更好的精度。

网络提供商是使用蜂窝塔和 wifi 的三角测量来完成的。

因此,如果您立即需要,请从“最后一个已知位置”开始,然后切换到网络,一旦您从 gps 获得修复,就开始使用它。

问候,维奈

于 2010-08-10T13:36:24.017 回答