我的应用程序需要用户的当前位置。为此,我已经实现了代码,并且能够获得当前位置。该代码尝试首先获取最佳提供商,然后获取位置信息。问题是,如果禁用GPS_PROVIDER,则从NETWORK_PROVIDER返回当前位置。如果同时启用了NETWORK_PROVIDER和GPS_PROVIDER,则最佳提供商将是GPS_PROVIDER,这将花费太多时间来获取当前位置。
因此,如果仅将位置提供程序设置为NETWORK_PROVIDER,就可以了,那么是否启用GPS_PROVIDER并不重要。
请让我知道什么是正确的方法。
问候
苏尼尔
最佳答案
根据您的应用程序,您可能只能使用网络位置。对于许多基于位置的服务来说,这足够精细。另外,您不必担心会因GPS无线电而耗尽用户的电池电量。
但是,如果您确实想要尽可能精确的位置,为什么不听这两个提供商的话呢?您可以使用getLastKnownLocation()
方法作为初始位置。然后,您可以使用NETWORK_PROVIDER
位置。然后,一旦从GPS_PROVIDER
获得修复程序,就可以忽略或删除网络侦听器。
关于android - Android中的位置提供者?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3448647/