在Google Play服务第22版中找不到LocationClient类

Tha*_*man 29 android google-play-services eclipse-luna

我刚刚将google play服务更新为rev 22,并且该LocationClient课程似乎缺失了.到底是怎么回事?

小智 69

基于@CommnsWare所说的,这里是迁移到Fused api的步骤.

第1步:获取一个实例GoogleApiClient而不是LocationClient.

ConnectionCallback(mConnectionCallbacks,mOnConnectionFailedListener例如下面)需要稍微修改但应该是微不足道的.

googleApiClient = new GoogleApiClient.Builder(this)
        .addApi(LocationServices.API)
        .addConnectionCallbacks(mConnectionCallbacks)
        .addOnConnectionFailedListener(mOnConnectionFailedListener)
        .build();
Run Code Online (Sandbox Code Playgroud)

第2步:更新连接和断开呼叫.

更换locationClient.connect()googleApiClient.connect()locationClient.disconnect()googleApiClient.disconnect().

第3步:使用LocationServices.FusedLocationApi发送您的请求. 例如

LocationServices.FusedLocationApi.getLastLocation(googleApiClient)
LocationServices.FusedLocationApi.requestLocationUpdates(googleApiClient, request, mLocationListener);
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!

  • 是的,这也是我使用@CommonsWare示例计算出来的步骤.也为接口,你只需要替换旧有GoogleApiClient.ConnectionCallbacks,GoogleApiClient.OnConnectionFailedListener加LocationListener的仍然是相同的只是没有onDisconnect方法了 (3认同)