0

我注意到有可能以(至少)两种不同的方式请求位置更新。为什么使用GoogleAPIClient请求位置更新?

  1. 使用GoogleAPIClient

    // Callback for when the GoogleAPIClient is connected 
    @Override 
    public void onConnected(Bundle connectionHint) { 
        LocationServices.FusedLocationApi.requestLocationUpdates(
         mGoogleApiClient, mLocationRequest, this); 
    } 
    

 

  • 使用LocationManager

    LocationManager locationManager = (LocationManager) getActivity(). 
        getSystemService(Context.LOCATION_SERVICE);  
    
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 
        0, 0, locationListener); 
    
  •  

    谷歌似乎促进法1在他们的教程"Receiving Location Updates"。目前还不清楚方法1的好处是什么,因为方法2对我来说同样适用(我在应用程序的两个不同位置使用这两种方法)。

    +0

    也检查这个答案[链接](http://stackoverflow.com/questions/37395614/locationmanager-uses-fusedlocationproviderapi/37396211#37396211) – Blackkara

    回答

    1

    获取位置更新的新方法是在android中使用Fused Location Provider。 融合位置提供商API的最好的一点是,您无需担心位置更新它会在间隔或位置更改后为您提供始终最新且准确的位置和更新位置。 融合位置提供商API还有一件事是您不需要考虑最佳位置提供商,因为它会自动选择最适合您的Android设备硬件的最佳位置提供商。

    以下是2013年I/O中的YouTube Video,可能会提供更多详细信息。

    相关问题