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

那么,是不是正常的,如果我们设置的位置提供者NETWORK_PROVIDER只有如此才不会也罢GPS_PROVIDER启用与否。

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

此致

苏尼

有帮助吗?

解决方案

根据您的应用程序,您也许能够只使用网络位置。这是细粒度足以让许多基于位置的服务。另外,您不必对与GPS无线电吸干用户的电池烦恼。

但是,如果你真的想精确位置成为可能,为什么不听这两个供应商?您可以使用初始位置getLastKnownLocation()方法。然后你可以使用NETWORK_PROVIDER位置。然后,只要你从GPS_PROVIDER一个解决方法,您可以忽略或删除网络监听。

其他提示

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

网络者正在使用蜂窝塔和wifi的三角测量进行。

所以,如果你需要立即,开始与“最后已知位置”,然后切换到网络,一旦你从GPS修复,开始使用它。

的问候, 维奈

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top