2016-12-17 5 views
2

In einem Spiel mit automatischer Anmeldung, wenn der Benutzer die Taste 'Abbrechen' drückt, wenn er aufgefordert wird, sich bei Play Games anzumelden, können wir erkennen, dass der Benutzer den Abbruch tatsächlich gedrückt hat Taste?Erkennen, dass Benutzer Google Play Games nicht mehr anmelden

Google hat die Art und Weise geändert, in der sich Spieler bei Google Play Games Services anmelden, und zuvor habe ich bei ActivityResult nach dem Ergebniscode eingecheckt. so etwas wie dieses:

protected void onActivityResult(int request, int resultCode, Intent data) { 

    if (request == RC_SIGN_IN){ 

     if(resultCode==0){ 
      //User has aborted sign in, so show dialog and set flags to stop 
      //Auto sign in here 
     } 
    } 
} 

Da jedoch die Dinge geändert haben, wenn Sie die Taste Abbrechen, es gibt jetzt 10002, die nach dem Docs bedeutet ..... (Betonung von mir hinzugefügt)

Ergebniscode, der bei der Anmeldung an die aufrufende Aktivität gesendet wird, schlägt fehl.

Der Versuch, sich beim Dienst "Spiele" anzumelden, ist fehlgeschlagen. Dies kann beispielsweise der Fall sein, wenn das Netzwerk flockig ist oder das Konto des Benutzers deaktiviert wurde oder Zustimmung nicht erhalten werden konnte.

Also, wenn ich für einen Ergebniscode von 10002 überprüfen, kann ich dann meinen Code setzen dort die automatische Anmeldung in jedoch zu deaktivieren, wenn die Netzwerkverbindung ‚flockig‘ oder ein anderes Problem, ich don möchte das nicht - nur wenn der Benutzer aussteigt .....

Wie kann das erreicht werden?

Antwort

0

Ich denke, es gibt Listener und Methoden für Verbindungsfehler wie onConnectionFailed() wie im Handbuch Umgang mit Verbindungen Fehler aufgeführt.

Die reponse abbrechen kann in einem anderen Zustand versetzt werden:

@@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    // Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...); 
    if (requestCode == RC_SIGN_IN) { 
     GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data); 
     handleSignInResult(result); 
    } else if(resultCode == RESULT_CANCELED){ 
     // Do something when user clicks Cancel.. 
    } 
} 
Verwandte Themen