我可以使用LocationClient和LocationRequest获得位置更新或当前位置。
但是如何知道这个位置是通过gps提供商还是网络提供商获得的。
下面是示例代码https://developer.android.com/training/location/retrieve-current.html
发布于 2014-05-02 10:10:05
显然,在使用LocationClient和LocationRequest作为优先级从源转移到获取location的需求/需求方面时是不可能的。
提供程序是融合位置提供程序:
融合定位提供者 融合位置提供商智能地管理底层的位置技术,并根据您的需要为您提供最佳位置。
来源:位置APIs
当他们第一次引入这些api时,我试着找出这一点,即使您从location对象‘获得’提供者‘,
即location.getProvider(),它返回:“融合”作为值,而不是作为全球定位系统或网络。
不过,如果您想推断出位置的来源,并不完全准确,但是它可以与在LocationRequest帮助下设置的优先级相关。
示例:
公共静态最终int PRIORITY_HIGH_ACCURACY 与setPriority(int)一起使用,以请求最准确的可用位置。 这将返回最好的位置可用。
我观察到,根据LocationRequest的优先级设置,全球定位系统的使用是改变的。
只有 for PRIORITY_HIGH_ACCURACY才会使用全球定位系统(而不仅仅是它的融合定位提供商),因此对于其他两个优先级设置,它“智能地管理”融合源,并尽可能精确地提供位置,从而节省电池/电力。
请注意
当设置为PRIORITY_HIGH_ACCURACY时,我并不是说在这种情况下应该启用GPS来获取位置,只是如果启用了GPS,您可以直观地看到它是在该优先级下使用的,而不是在设置不同的优先级时使用。
融合定位提供商使用GPS、WiFi、单元塔和传感器来确定准确的位置估计。
https://stackoverflow.com/questions/23425114
复制相似问题