9

Google Fit に接続し、ユーザーの体に関するデータを読み書きするアプリをセットアップしました。ユーザーがアプリの設定で Google Fit を無効にすると、次のように呼び出してアプリの権限を取り消そうとします。

public void disableGoogleFit(){
    if(!mClient.isConnected()){
        Log.e(TAG, "Google Fit wasn't connected");
        return;
    }
    PendingResult<Status> pendingResult = Fitness.ConfigApi.disableFit(mClient);

    pendingResult.setResultCallback(new ResultCallback<Status>() {
        @Override
        public void onResult(Status status) {
            if(status.isSuccess()) {
                Log.i(TAG, "Google Fit disabled");
            }else{
                Log.e(TAG, "Google Fit wasn't disabled " + status);
            }
        }
    });
}

データを正常に読み書きできたとしても、Fit を無効にすると次のエラーが返されます。

Google Fit wasn't disabled Status
{statusCode=unknown status code: 5010, resolution=null}

Edit1: Fitを無効にしようとした瞬間にクライアントが接続されているメソッド全体が追加されました。

4

6 に答える 6

2

私も同様の問題に直面しました。

この問題は、アプリが Google 開発者コンソールに正しく登録されていない場合に発生します。

本番キーストア証明書フィンガープリント(SHA1)を使用してGoogle開発者コンソールにアプリを登録したと思いますが、デバッグキーストアを持つアプリでテストしています。

次の手順を実行します。

  1. デバッグ キーストア証明書フィンガープリント (SHA1) を使用して、クライアント ID をもう 1 つ作成します。
  2. 既存のアプリをアンインストールします。
  3. アプリをインストールして Google fit に接続します。
  4. Google Fit アプリをチェックして、アプリが接続済みアプリとしてリストされていることを確認します ([...] > [設定] > [接続済みアプリ] > [接続済みアプリとデバイス])。
  5. 上記のコードを実行すると動作します!!!
于 2015-02-08T07:19:15.077 に答える
0

通話を無効にした後

mClient.disconnect();

これは私のために働いています

于 2015-10-27T08:19:28.383 に答える