Ich versuche, meinem Spiel Erfolge hinzuzufügen, indem ich Google Play Game Services verwende. Die Aktivität in meinem Spiel, die für die Leistung verantwortlich ist, erweitert BaseGameActivity und ruft das beginUserInitiatedSignIn auf, wenn es den Erfolg geben muss, also muss der Benutzer sich anmelden, aber zu dem Zeitpunkt, zu dem ich den Erfolg für den Benutzer entsperren werde, behalte ich "java.lang.IllegalStateException: GoogleApiClient ist noch nicht verbunden". Kann mir jemand sagen, was ich falsch mache? Hier ist der Code für die Erschließung des Erfolgs (es ist in der Klasse, die Basegameactivity erstreckt, von BaseGameUtils):java.lang.IllegalStateException: GoogleApiClient ist noch nicht verbunden.
private void darConquistaDerrubouArvore(int numeroDeAcertos) {
// start the asynchronous sign in flow
mSignInClicked = true;
mGoogleApiClient.connect();
if(numeroDeAcertos <= 40)
{
try
{
beginUserInitiatedSignIn();
Games.Achievements.unlock(gameHelper.getApiClient(), "CgkIs_27xcoSEAIQAQ");
Log.i("TelaModoCasual", "usuário não está logado");
this.onSignInFailed();
}
catch(Exception exc)
{
exc.printStackTrace();
this.onSignInFailed();
}
}
}
See [Dieser Beitrag] (http://stackoverflow.com/questions/24474986/android-google-play-games-services-connection-error-java- lang-illegalstateexc). – frenchDolphin
Ja, ich habe diesen Beitrag gesehen, aber ich möchte keinen Anmelde-Button, ich möchte, dass meine Anwendung versucht, den Nutzer sofort anzumelden. Es ist unmöglich? –
Ja, leider müssen Sie vor der Anmeldung nach der Berechtigung eines Benutzers fragen, denn das Anmelden bedeutet, dass Ihre App alle möglichen neuen Berechtigungen erhält. Aus diesem Grund zwingt Android Sie, zuerst einen Dialog anzuzeigen. – frenchDolphin