【发布时间】:2016-06-22 07:51:32
【问题描述】:
这似乎是一个愚蠢的问题,但它可能会影响我正在开发的应用程序的设计。
融合的位置提供者仅在设备 gps 开启时在 onLocationChanged() 回调中提供位置数据。所以我很困惑,如果它对设备 gps 有这样的依赖,那么使用融合位置提供程序有什么好处?
请帮忙解释一下
谢谢
【问题讨论】:
这似乎是一个愚蠢的问题,但它可能会影响我正在开发的应用程序的设计。
融合的位置提供者仅在设备 gps 开启时在 onLocationChanged() 回调中提供位置数据。所以我很困惑,如果它对设备 gps 有这样的依赖,那么使用融合位置提供程序有什么好处?
请帮忙解释一下
谢谢
【问题讨论】:
如果它对设备 gps 有这种依赖性,那么使用融合位置提供程序有什么好处?
FusedLocationProvider 可能使用 GPS,也可能不使用 GPS,具体取决于您请求的准确性和更新间隔。主要好处是 FusedLocationProvider 可以方便地抽象选择合适的提供程序(WiFi、GPS、 Network, BLE) 并融合来自这些提供商的位置信息,因此得名。
提供商的最佳选择取决于客户端设备的功能以及您的物理环境(例如,在有许多高层建筑的城市环境中,WiFi 的性能可能比 GPS 更好,而在野外则可能反过来)。因此,除非您需要对位置提供程序进行细粒度控制,否则我建议让 FusedLocationProvider / Google API 决定。
关于应用程序设计:我编写了一个实用程序类,称为LocationAssistant,它实际上会为您处理大部分设置。您可能会发现它很有用,因为您只需要实现几个简单的接口方法。
【讨论】: