2017-04-12 3 views
0

Aus irgendeinem Grund funktioniert die Anmeldung bei Google nicht auf allen Geräten außer meinem Tages-Treiber, den ich zum Debuggen verwende. Ich habe sogar versucht, eine Debug-Build auf meinem Tablet zu installieren, und das funktioniert nicht.Google-Anmeldung bei Android auf allen Geräten mit Ausnahme des primären Debug-Geräts fehlgeschlagen

Hier ist der Code:

onCreate(){ 

    ... 
    GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) 
      .requestIdToken("~webID~.apps.googleusercontent.com") 
      .requestEmail() 
      .build(); 

    googleApiClient = new GoogleApiClient.Builder(this) 
      .enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */) 
      .addApi(Auth.GOOGLE_SIGN_IN_API, gso) 
      .build(); 
} 

@OnClick(R.id.google_signin_button) 
public void signInWithGoogle(){ 
    Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(googleApiClient); 
    startActivityForResult(signInIntent, RC_SIGN_IN); 
} 

Auf den nicht arbeitenden Geräten, wenn diese onActivityResult aufgerufen wird nie aufgerufen. Stattdessen kehrt das Gerät zum Desktop zurück und beendet die App. Ich bin mir nicht sicher, was los ist. Irgendeine Hilfe?

+0

Was sagt 'logcat'? Verfügen Sie auf diesen Geräten über Google Play-Dienste? – ephemient

+0

Ich habe gerade das Problem herausgefunden. Ich werde es als Antwort posten. –

Antwort

1

Mein Problem war, die Aufgabe im Manifest mit noHistory gekennzeichnet zu haben. Warum dies ein Problem war oder warum es verschiedene Geräte unterschiedlich beeinflusste, weiß ich nicht. In jedem Fall wurde durch Entfernen das Problem behoben.

+0

Macht Sinn: Wenn Sie eine andere Aktivität starten, kann sie nicht zu einer 'noHistory'-Aktivität zurückkehren, weil sie nicht mehr existiert. Das erklärt nicht, warum es auf * einem * deiner Geräte funktioniert hat, obwohl ...: -? – ephemient

+0

@ephemient Ich denke, was los war, war auf neueren Geräten die Anmeldung in einem Popup von Arten erreicht, während ältere Geräte die Anmeldung in einer separaten Aktivität. –

Verwandte Themen