gpt4 book ai didi

android - 使用 FusedLocationProviderApi 比使用 LocationManager 有什么优势吗?

转载 作者:可可西里 更新时间:2023-11-01 18:45:52 27 4
gpt4 key购买 nike

早些时候我使用 LocationManager 获取用户当前位置:

LocationManager locationManager = (LocationManager) getActivity().getSystemService(Context.LOCATION_SERVICE);

if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

} else if (locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {
location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
}

它易于阅读且代码非常简单。

但我注意到谷歌最近发布了New Client API Model in Google Play Services并建议使用 FusedLocationProviderApi这看起来要复杂得多,它是异步的,它需要处理回调等。

使用 FusedLocationProviderApi 比使用 LocationManager 有什么优势吗?

最佳答案

FusedLocationProvider 使用多种硬件来根据请求的上下文确定位置,这意味着它对您透明地进行了优化。它还将在应用程序之间缓存捕获的位置,以避免不必要的工作来确定位置信息。因此,如果用户拥有各种位置感知应用程序,他们可能会避免对设备征税(并等待)位置捕获,因为一个位置可能已经被缓存了。

虽然旧的 LocationManager 在小型、一次性的情况下就足够了,但您绝对应该考虑更新的替代方案,因为它的好处可能很大,而且实现起来也很容易。

您也可以使用它,因为 Google Play 服务会定期跨设备更新,并不断改进基于位置的功能(以及更多)。

启动时 FusedLocationProvider 解释的链接:https://www.youtube.com/watch?v=Bte_GHuxUGc

关于android - 使用 FusedLocationProviderApi 比使用 LocationManager 有什么优势吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30144480/

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