Im Gegensatz zu Facebook-Login für Android finde ich GoogleApiClient für Android mit einigen Einschränkungen.Einschränkung von GoogleApiClient in Android
Ich verwende GoogleApiClient auf folgende Weise:
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.requestProfile()
.build();
// Build a GoogleApiClient with access to the Google Sign-In API and the
// options specified by gso.
mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this, this)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
Später in meinem onConnected
Rückruf,
@Override
public void onConnected(@Nullable Bundle bundle) {
launchNextActivity();
}
Warum Google hat nur den Umfang der GoogleApiClient zu begrenzen, um eine Aktivität ? Kann ich nicht eine einzige Instanz von GoogleApiClient als Authentifizierungs-ID für meine App verwenden?
Wie kann ich mich von einer anderen Aktivität abmelden? Sobald ich die Anmeldeaktivität verlassen habe, wird die GoogleApiClient-Instanz getrennt. (Dies erlaubt es mir nicht, die Verwendung, die Instanz von mGoogleApiClient von dem globalen Namensraum sparend)
Ich habe das gesehen. Auch dieses Singleton ist auf den Kontext beschränkt. Überprüfen Sie die buildGoogleApiClient() -Methode. Sobald wir also die Aktivität verlassen (Aufruf beenden), ist der Kontext nicht mehr gültig, mGoogleApiClient.isConnected() gibt erneut false zurück. Lass es mich wissen, wenn ich etwas verpasse. – jay