2016-04-11 10 views
2

Docs sagt dies:Wann wird "onConnectionSuspended" auf der Drive-API aufgerufen und wie geht man damit um?

public void onConnectionSuspended (int Ursache)

aufgerufen, wenn der Kunde vorübergehend in einem getrennten Zustand ist. Diese kann passieren, wenn ein Problem mit dem Remote-Dienst (z. B. ein Absturz oder Ressourcenproblem verursacht, dass es vom System getötet wird). Wenn aufgerufen wurde, wurden alle Anfragen abgebrochen und keine ausgehenden Listener ausgeführt. GoogleApiClient versucht automatisch, die Verbindung wiederherzustellen. Anwendungen sollten UI-Komponenten deaktivieren, die den Dienst erfordern, und auf einen Aufruf von OnConnected (Bundle) an warten, um sie wieder zu aktivieren.

Ich kann es nicht verursachen, um zu untersuchen, wie man damit umgeht. Ich habe versucht, die Verbindung zum Internet zu trennen, aber es wird nicht der Rückruf aufgerufen (onConnectionFailed wird stattdessen aufgerufen).

Sicher heißt es, ich sollte UI-Komponenten deaktivieren, aber für wie lange wird es behandelt? Wird "onConnected" kurz danach aufgerufen und immer danach angerufen?

Was passiert, wenn ich eine Aktivität erstelle, die alle dazu dient, eine Verbindung zu Google Drive herzustellen? Sollte es sich schließen wenn es onConnectionSuspended erreicht? Oder sollte es es ignorieren, sobald es gelingt, eine Verbindung herzustellen?

Auch, wie es "onConnectionSuspended" heißt, bedeutet es, dass alle anderen Rückrufe ziemlich sofort sind?

Antwort

1

Sie sollten die *onConnectionSuspended* Rückruf erhalten, bevor *onConnectionFailed* aufgerufen wurde. A similar issue zeigt an, dass onConnectionSuspended ausgelöst wird, wenn Ihre App bei den Google Play-Diensten getrennt wurde. Ein erzwungenes Beenden/Beenden des Google Play-Diensts kann den Rückruf auslösen. Danach sollte - onConnectionFailed - als nächstes aufgerufen werden.

+0

Also ignorieren ist dies eine mögliche Option? Immerhin sollte ein Callback zu etwas anderem trotzdem stattfinden ... –

+0

ja, hast du es probiert? –

+0

Wir haben uns entschieden, die Drive API nicht zu verwenden. Es tut uns leid. Habe +1 für die Mühe. –

Verwandte Themen