我的应用程序需要用户的当前位置。为此,我实现了代码,并且能够获取当前位置。代码尝试首先获取最佳提供者,然后获取位置信息。问题是如果GPS_PROVIDER被禁用,则当前位置从NETWORK_PROVIDER返回。如果NETWORK_PROVIDER和GPS_PROVIDER都启用,那么最好的提供者将是GPS_PROVIDER,这需要太多的时间来获取当前位置。Android中的位置提供者?
因此,如果我们只将位置提供程序设置为NETWORK_PROVIDER,那么它是没问题的,因此无论是否启用GPS_PROVIDER都无关紧要。
请让我知道什么是正确的方法。
问候
苏尼尔
getLastKnownLocation有时不返回经度和纬度。在某些情况下,它将返回null。这就是我使用提供者获取位置的方式的原因。对于我的应用程序,我不需要连续更新位置。它仅在某些特定事件中被提取。为此,我使用requestLocationUpdates,一旦我得到位置,我将删除侦听器。 – sunil 2010-08-11 13:07:43
啊,在这种情况下,如果GPS在那段时间还没有降下,你将不得不实现一个超时并且只需要网络位置。这就是[这个SO问题]中的人们如何解决它的问题(http://stackoverflow.com/questions/2919358/android-get-location-from-best-provider-available)。 – 2010-08-11 13:26:39