1

我试图从Google Play服务初始化历史记录API。现在,从我们更新我们的应用程序以来,.useDefaultAccount()方法无法正常工作,连接结果失败。这将导致登录提示出现在我们的应用中,用户需要选择他们的帐户。我们想阻止这一点。有没有办法做到这一点?.useDefaultAccount()for GoogleApiClient无法正常工作

我们如何使客户端对象并连接(一个AsyncTask内):

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

的谷歌API客户端应该是活动的built on the onCreate方法,而不是里面的AsyncTask。尝试将代码块移动到适当的类。这可能是你为什么得到SendIntentException的原因。

0

确保您在onActivityResult()中正确处理帐户选择结果。如果您还没有连接到GoogleApiClient,那么对话框将继续显示。