在Android中LocationManager
或FusedLocationClient
之间确定非常简单,只需使用FusedLocationClient,因为它可以节省电量,建议将其作为最佳做法。
但是,我必须要获取"初始位置"设备,或简称当前/最后已知位置。 FusedLocationClient在3种不同的场景中可能认为是null的东西。 (see here)。
当请求位置更新时,当设备的实际位置发生变化时,这种情况不会发生变化。 (here)
在android框架提供的LocationManager中,您可以通过简单地调用mLocationManager.getLastKnownLocation(provider);
轻松获取最后一个已知位置,但使用它来收听更新需要花费很多力量。
这里最好的解决方案是什么?将两者结合起来是否合理?如果是,如何仅使用LocationManager获取当前位置,然后禁用它以节省电量?