gpt4 book ai didi

Android Location 客户端的提供者

转载 作者:太空宇宙 更新时间:2023-11-03 13:23:49 24 4
gpt4 key购买 nike

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

但是如何知道位置是否被获取是使用gps提供者还是网络提供者。

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

最佳答案

显然,在使用 LocationClientLocationRequest 时,这是不可能的,因为优先级从源转移到获取 location 的要求/需要端>。

提供者是Fused Location Provider:

Fused location provider
The Fused Location Provider intelligently manages the underlying location technology and gives you the best location according to your needs.

来源:Location APIs Android

当他们第一次引入这些 api 时,我试图弄清楚这一点,即使您从 location 对象“获取”“提供者”,
location.getProvider() ,它返回 :"fused"作为值而不是 GPS 或 NETWORK。

不过如果要推断出位置的来源,并不完全准确,但可能与借助LocationRequest设置的PRIORITY有关。

示例:

public static final int PRIORITY_HIGH_ACCURACY

Used with setPriority(int) to request the most accurate locations available.

This will return the finest location available.

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

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

请注意:
当设置为 PRIORITY_HIGH_ACCURACY 时,我并不是说在那种情况下应该启用 GPS 来获取位置,只是如果启用了 GPS,您可以直观地看到它是在该 PRIORITY 下使用的,而在您设置时没有使用不同的优先级。

Fused Location Provider 使用 GPS、WiFi、手机信号塔和传感器来确定准确的位置估计。

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

  2. Useful presentation: Android Location

  3. Blog: of 2013, but useful

关于Android Location 客户端的提供者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23425114/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com