So habe ich Facebook-Anmeldung implementiert, jetzt habe ich Google implementiert. Es meldet sich erfolgreich an, aber wenn ich die App neu starte, muss sich der Benutzer erneut anmelden. Wenn ich mich jedoch mit FB anmelde, funktioniert es wie es soll. Hier ist mein AuthListener
:Android App Facebook-Anmeldung erinnert sich Benutzer, aber Google Anmelden nicht
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if (user != null) {
Log.d("AD", "User is logged in.");
SignUp.this.startActivity(startMainActivity);
} else {
Log.d("AD", "User is not logged in.");
}
}
};
Und alles andere mit Google-Zeichen zu tun:
mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this /* FragmentActivity */, new GoogleApiClient.OnConnectionFailedListener() {
@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
Toast.makeText(SignUp.this, "There has been an error connecting to Google: " + connectionResult.getErrorMessage(), Toast.LENGTH_LONG).show();
}
} /* OnConnectionFailedListener */)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.build();
SignInButton signInButton = (SignInButton) findViewById(R.id.sign_in_button);
signInButton.setOnClickListener(this);
private void signIn() {
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
startActivityForResult(signInIntent, RC_SIGN_IN);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
mCallbackManager.onActivityResult(requestCode, resultCode, data);
if (requestCode == RC_SIGN_IN) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
handleSignInResult(result);
}
private void handleSignInResult(GoogleSignInResult result) {
Log.d("AD", "Signed in via google successfully:" + result.isSuccess());
if (result.isSuccess()) {
// Signed in successfully, show authenticated UI.
this.startActivity(startMainActivity);
} else {
// Signed out, show unauthenticated UI.
Toast.makeText(this, "An error has occurred", Toast.LENGTH_SHORT).show();
}
}
Es ist komisch; Ich habe immer Probleme mit Google und sonst nichts: {