Wie kann ich GoogleApiClient dazu zwingen, bei jedem Aufruf von connect die Benutzeroberfläche für die Kontoauswahl zur Eingabe aufzufordern?

Wenn ich den Code für das Zum ersten Mal bei meinem ersten App-Startzyklus

GoogleApiClient mGoogleApiClient = new GoogleApiClient.Builder(context)
    .addApi(Drive.API)
    .addScope(Drive.SCOPE_APPFOLDER) // required for App Folder sample
    .addConnectionCallbacks(this)
    .addOnConnectionFailedListener(this)
    .build();

mGoogleApiClient.connect();

Ich kann die folgende Kontoauswahl sehen.

Wenn die vorherige Verbindung jedoch erfolgreich war und ich denselben Code für @ erneut ausfüh Zum ersten Mal bei meinem 2. App-Startzyklus.

Die Kontoauswahl wird nicht erneut angezeigt.GoogleApiClient wird den Kontonamen verwenden, den ich im vorherigen App-Startzyklus ausgewählt habe.

Ich möchte, dass meine Kontoauswahl jedes Mal angezeigt wird.

Ich bin auf @ gestoß So löschen Sie das GoogleApiClient-Standardkonto und die Anmeldeinformationen

Die vorgeschlagene Lösung funktioniert in meinem Fall nicht.

mGoogleApiClient.clearDefaultAccountAndReconnect()

Wenn ich für meinen vorherigen App-Zyklus verbunden war und den obigen Code zum ersten Mal in meinem aktuellen App-Zyklus aufrufe, erhalte ich die folgende Ausnahme.

java.lang.IllegalStateException: GoogleApiClient is not connected yet.
    at com.google.android.gms.common.internal.zzx.zza(Unknown Source)
    at com.google.android.gms.common.api.internal.zzj.clearDefaultAccountAndReconnect(Unknown Source)

Der folgende Code funktioniert auch nicht.

if (mGoogleApiClient.isConnected()) {
    // No chance to execute this code, if you run this code during app launch.
    mGoogleApiClient.clearDefaultAccountAndReconnect();
} else {
    // No account chooser will pop up if you had been connected in previous app life cycle
    mGoogleApiClient.connect();
}

Kann ich wissen, wie ich GoogleApiClient dazu zwingen kann, die Benutzeroberfläche für die Kontoauswahl bei jedem Aufruf von connect aufzufordern?

Antworten auf die Frage(14)

Ihre Antwort auf die Frage