Android位置客户端的提供商

时间:2014-05-02 09:42:37

标签: android location

我可以使用LocationClient和LocationRequest获取位置更新或当前位置。

但是如何知道是否获得该位置是使用gps提供商或网络提供商。

以下是示例代码 https://developer.android.com/training/location/retrieve-current.html

1 个答案:

答案 0 :(得分:4)

显然,在使用LocationClientLocationRequest时,优先级无法从源位置转移到获取location的需求/需求方面。

提供商融合位置提供商

  

融合位置信息提供商
  智能位置提供商智能化   管理底层定位技术并为您提供最佳服务   根据您的需求定位。

来源:Location APIs Android

当他们第一次介绍这些api时,我试图解决这个问题,即使你从location对象'获得''提供者', 即。 location.getProvider(),它返回:“融合”作为值,而不是GPS或网络。

如果您想推断出位置来源,但不完全准确,但它可能与LocationRequest

帮助下的优先级相关

示例:

  

public static final int PRIORITY_HIGH_ACCURACY

     

与setPriority(int)一起使用以请求最准确的位置   可用。

     

这将返回可用的最佳位置。

我观察到,根据使用LocationRequest设置的优先级,GPS的使用会发生变化。

PRIORITY_HIGH_ACCURACY 应用程序使用GPS(不仅仅作为其融合位置提供程序),因此对于其他两个PRIORITY设置,它“智能地管理”融合来源并提供尽可能准确的位置,节省电池/电力。

请注意
当设置为PRIORITY_HIGH_ACCURACY时,我并不是说应该启用GPS以获得该条件下的位置,只是如果启用了GPS,您可以直观地看到它正在该优先级下使用并且在您设置时未被使用不同的优先权。

融合位置提供商使用GPS,WiFi,手机信号塔和传感器来确定准确的位置估算值。

  1. 看看The Google IO on Location API,这很好。

  2. Useful presentation: Android Location

  3. Blog: of 2013, but useful