1

Google Playサービスから履歴APIを初期化しようとしています。アプリケーションをアップデートして以来、.useDefaultAccount()メソッドが正しく動作せず、接続結果が失われています。これにより、ユーザーが自分のアカウントを選択する必要があるアプリケーションにログインプロンプトが表示されます。私たちはこれを防ぐつもりです。それを行う方法はありますか?私たちはクライアントオブジェクトを作成し、(AsyncTask内)を接続する方法GoogleApiClientの.useDefaultAccount()が正しく機能しない

GoogleApiClient apiClient = new GoogleApiClient.Builder(context) 
        .addApi(Fitness.HISTORY_API) 
        .useDefaultAccount() 
        .build(); 
      ConnectionResult connectionResult = apiClient.blockingConnect(); 

      if (!connectionResult.isSuccess()) { 
       if (connectionResult.hasResolution() && context instanceof Activity) { 
        try { 
         connectionResult.startResolutionForResult((Activity) context, 1); 
        } catch (IntentSender.SendIntentException e) { 
         // Utter Failure 
        } 
       } 
      } 
      return null; 

答えて

0

のGoogle APIクライアントは、活動のではなく、AsyncTask内部built on the onCreate方法でなければなりません。コードブロックを適切なクラスに移動してください。これはなぜあなたがSendIntentExceptionを取得しているのかという理由になります。

0

onActivityResult()で正しくアカウント選択結果を処理していることを確認してください。 GoogleApiClientに接続していない場合は、ダイアログが引き続き表示されます。

関連する問題