我可以使用LocationClient和LocationRequest获取位置更新或当前位置。
但是如何知道是否获得该位置是使用gps提供商或网络提供商。
以下是示例代码 https://developer.android.com/training/location/retrieve-current.html
答案 0 :(得分:4)
显然,在使用LocationClient
和LocationRequest
时,优先级无法从源位置转移到获取location
的需求/需求方面。
提供商融合位置提供商:
融合位置信息提供商
智能位置提供商智能化 管理底层定位技术并为您提供最佳服务 根据您的需求定位。
当他们第一次介绍这些api时,我试图解决这个问题,即使你从location
对象'获得''提供者',
即。 location.getProvider()
,它返回:“融合”作为值,而不是GPS或网络。
如果您想推断出位置来源,但不完全准确,但它可能与LocationRequest
帮助下的优先级相关示例:
public static final int PRIORITY_HIGH_ACCURACY
与setPriority(int)一起使用以请求最准确的位置 可用。
这将返回可用的最佳位置。
我观察到,根据使用LocationRequest
设置的优先级,GPS的使用会发生变化。
请注意:
当设置为PRIORITY_HIGH_ACCURACY时,我并不是说应该启用GPS以获得该条件下的位置,只是如果启用了GPS,您可以直观地看到它正在该优先级下使用并且在您设置时未被使用不同的优先权。
融合位置提供商使用GPS,WiFi,手机信号塔和传感器来确定准确的位置估算值。