【发布时间】:2016-06-06 14:06:29
【问题描述】:
如docs 中所述,尝试使用Fitness.ConfigApi.disableFit(mClient) 与GoogleFit 断开连接时获取IllegalArgumentException。我可以连接和检索历史数据。
错误
GoogleApiClient 未配置为使用此操作所需的 API 打电话。
在 com.google.android.gms.common.internal.zzaa.zzb(未知来源)
禁用/断开代码(注意我在调用它之前检查了mClient.isConnected()):
PendingResult<Status> pendingResult = Fitness.ConfigApi.disableFit(mClient);
pendingResult.setResultCallback(new ResolvingResultCallbacks<Status>(this, RC_DISCONECT_GOOGLE_FIT) {
@Override
public void onSuccess(@NonNull Status status) {
updateStatus("Disconnected from Google Fit: " + status.getStatusMessage());
}
@Override
public void onUnresolvableFailure(@NonNull Status status) {
updateStatus("Error disconnecting from Google Fit: " + status.getStatusMessage());
}
});
GoogleApiClient 配置
private void buildFitnessClient() {
mClient = new GoogleApiClient.Builder(this)
.addApi(Fitness.HISTORY_API)
.addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE)).build();
}
定位 API 23,在 API 21 上运行,使用 'com.google.android.gms:play-services-fitness:9.0.1'
【问题讨论】:
标签: android google-play-services google-fit