之前为了获取用户当前位置,我使用了 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);
}
它易于阅读且代码非常简单。
但我注意到 Google 最近在 Google Play Services 中发布了新的客户端 API 模型,并建议使用FusedLocationProviderApi,它看起来要复杂得多,它是异步的,它需要处理回调等。
与 LocationManager 相比,使用 FusedLocationProviderApi 有什么优势吗?