2016-11-30 55 views
0

谷歌让他们的Signing Out Users tutorial话说注:在从GoogleSignInAPI注销之前,是否必须调用GoogleApiClient.connect()?

注意:您必须确认您拨打signOut之前GoogleApiClient.onConnected被调用。

但无论他们Firebase implementationold Google implementation他们没有对他们的mGoogleApiClient实例调用GoogleApiClient.connect()onConnected()调用signOut()之前被调用。

那么,我应该遵循什么?文档或例子?

回答

0

答案是肯定的。 GoogleApiClient.connect()有被称为 - 否则我们会得到一个IllegalStateException

java.lang.IllegalStateException:GoogleApiClient尚未连接。

所以你这是怎么登出:

mGoogleClient = new GoogleApiClient.Builder(getContext()) 
     .addConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() { 
      @Override 
      public void onConnected(@Nullable Bundle bundle) { 
      //SIGN OUT HERE 
      Auth.GoogleSignInApi.signOut(mGoogleClient).setResultCallback(
        new ResultCallback<Status>() { 
         @Override 
         public void onResult(Status status) {/*ignored*/} 
        }); 
      } 

      @Override 
      public void onConnectionSuspended(int i) {/*ignored*/} 
     }) 
     .addOnConnectionFailedListener(new GoogleApiClient.OnConnectionFailedListener() { 
      @Override 
      public void onConnectionFailed(@NonNull ConnectionResult connectionResult) { 
      /*ignored*/ 
      } 
     }) 
     .addApi(Auth.GOOGLE_SIGN_IN_API) //IMPORTANT!!! 
     .build(); 

mGoogleClient.connect(); 

所以我想他们有这部分的示例代码丢失。

相关问题