此前獲取用戶當前的位置我已經使用的LocationManager:通過LocationManager使用FusedLocationProviderApi是否有任何優勢?
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任何優勢?
它提供更好的準確性,更少的電池消耗,因爲它在gps和基於WiFi的位置之間切換。爲了避免複雜性,我推薦使用這個庫:https://github.com/mcharmas/Android-ReactiveLocation – cYrixmorten