2016-07-05 11 views
0

Ich versuche Google Sign-In in meiner Android App zu implementieren.Warum stellt GoogleApiClient erfolgreich eine Verbindung her, auch wenn ich es nicht mit einem Konto versehe?

Hier ist mein Code:

public class SignIn extends AppCompatActivity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener { 

    private GoogleSignInOptions gso; 
    private GoogleApiClient mGoogleApiClient; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_sign_in); 
     gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) 
       .requestProfile() 
       .requestEmail() 
       .build(); 
     mGoogleApiClient = new GoogleApiClient.Builder(this) 
       .addOnConnectionFailedListener(this) 
       .addConnectionCallbacks(this) 
       .addApi(Auth.GOOGLE_SIGN_IN_API, gso) 
       .build(); 
     mGoogleApiClient.connect(); 

    } 

    @Override 
    public void onConnected(Bundle bundle) { 
     Toast.makeText(this, "CONNECTED", Toast.LENGTH_SHORT).show(); 
    } 

    @Override 
    public void onConnectionSuspended(int i) { 
    } 

    @Override 
    public void onConnectionFailed(ConnectionResult connectionResult) { 
      Toast.makeText(this, "FAILED", Toast.LENGTH_SHORT).show(); 
    } 

    @Override 
    protected void onStop() { 
     super.onStop(); 
     mGoogleApiClient.disconnect(); 
    } 

} 

Nach this Führung, versuchen zu verbinden, wenn der Benutzer nicht angemeldet ist in in einem onConnectionFailed Rückruf führen soll. Dieser Code zeigt jedoch immer "VERBUNDEN" an, obwohl ich die App nie autorisiert habe.

Was genau verkenne ich? Wie soll ich überprüfen, ob der Benutzer angemeldet ist, wenn diese Methode nicht funktioniert?

Antwort

0

Wenn onConnected-Methode aufrufen, bedeutet dies nicht, dass die User is signed in. Dies bedeutet, dass mGoogleApiClient eine Verbindung hergestellt hat.

Nach diesem Rückruf kann die Anwendung Anfragen auf andere vom Client bereitgestellte Methoden stellen.

Sie können reference von hier aus nehmen.

+0

Okay, dann, wie überprüfe ich, ob der Benutzer angemeldet ist oder nicht? – user2649762