我刚刚将 Google Play 服务更新到 rev 22,但是 LocationClient
类似乎已经不见了。这是怎么回事?
我刚刚将 Google Play 服务更新到 rev 22,但是 LocationClient
类似乎已经不见了。这是怎么回事?
在@CommnsWare所说的基础上,这里提供迁移到Fused API的步骤:
步骤1:获取GoogleApiClient
实例,而不是LocationClient
。
ConnectionCallback
(在下面的示例中为mConnectionCallbacks、mOnConnectionFailedListener)需要进行轻微修改,但应该很简单。
googleApiClient = new GoogleApiClient.Builder(this)
.addApi(LocationServices.API)
.addConnectionCallbacks(mConnectionCallbacks)
.addOnConnectionFailedListener(mOnConnectionFailedListener)
.build();
第二步: 更新连接和断开调用。
将locationClient.connect()
替换为googleApiClient.connect()
,将locationClient.disconnect()
替换为googleApiClient.disconnect()
。
第三步:使用LocationServices.FusedLocationApi发送请求。 例如:
LocationServices.FusedLocationApi.getLastLocation(googleApiClient)
LocationServices.FusedLocationApi.requestLocationUpdates(googleApiClient, request, mLocationListener);
希望这能帮到你!
LocationClient
已被弃用,而且显然现在已完全摒弃。现在有一个新的API可以替代它,使用GoogleApiClient
。请参考https://github.com/commonsguy/cw-omnibus/tree/master/Location/FusedNew以获得一个示例应用程序。 - CommonsWare