Android中的位置提供商?

时间:2010-08-10 11:58:17

标签: android location location-provider

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

因此,如果我们仅将位置提供商设置为NETWORK_PROVIDER,那么它是否正常无论是否启用GPS_PROVIDER都无关紧要。

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

此致

苏尼

2 个答案:

答案 0 :(得分:1)

根据您的应用程序,您可能只能使用网络位置。这对于许多基于位置的服务来说已经足够细粒度了。另外,您不必担心使用GPS收音机吸取用户的电池。

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

答案 1 :(得分:0)

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

网络提供商使用手机信号塔和wifi的三角测量来完成。

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

的问候, 维奈