我的应用程序需要用户的当前位置。为此我已经实现了代码,我能够获得当前位置。代码首先尝试获取最佳提供程序,然后获取位置信息。问题是如果禁用GPS_PROVIDER,则从NETWORK_PROVIDER返回当前位置。如果启用了NETWORK_PROVIDER和GPS_PROVIDER,那么最佳提供商将是GPS_PROVIDER,这需要花费太多时间来获取当前位置。
因此,如果我们仅将位置提供商设置为NETWORK_PROVIDER,那么它是否正常无论是否启用GPS_PROVIDER都无关紧要。
请让我知道什么是正确的方法。
此致
苏尼
答案 0 :(得分:1)
根据您的应用程序,您可能只能使用网络位置。这对于许多基于位置的服务来说已经足够细粒度了。另外,您不必担心使用GPS收音机吸取用户的电池。
但是如果你真的想要一个尽可能准确的位置,为什么不听两个提供商呢?您可以使用getLastKnownLocation()
方法作为初始位置。然后,您可以使用NETWORK_PROVIDER
位置。然后,只要您从GPS_PROVIDER
获得修复,就可以忽略或删除网络侦听器。
答案 1 :(得分:0)
GPS比网络提供商提供更好的精确度。
网络提供商使用手机信号塔和wifi的三角测量来完成。
因此,如果您需要立即,请从“最后知道的位置”开始,然后切换到网络,一旦您从gps获得修复,就开始使用它。
的问候, 维奈