【问题标题】:Error when attempting to disable Google Fit from in App尝试从应用中禁用 Google Fit 时出错
【发布时间】: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


    【解决方案1】:

    事实证明,当您构建 GoogleApiClient 时,您必须添加 .addApi(Fitness.CONFIG_API) 才能使用 Fitness.ConfigApi.disableFit(mClient)。有点道理,因为它从文档中丢失了。

     mClient = new GoogleApiClient.Builder(this)
                    .addApi(Fitness.HISTORY_API)
                    .addApi(Fitness.CONFIG_API)
                    .addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE)).build();
    

    【讨论】:

      猜你喜欢
      • 2021-02-24
      • 2016-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-06
      • 1970-01-01
      相关资源
      最近更新 更多