У меня есть экран входа в систему, на котором вы можете войти через Google, но когда я нажимаю, чтобы войти и затем выбрать учетную запись, он остается в той же активности.Ошибка в журнале выглядит следующим образом:
W/InputMethodManager: startInputReason = 1
E/GoogleProvider: Error logging in with Google. 16 null
EGLNativeWindowType 0x704a430010 disconnect failed
Activity resumed, time: 182884358
Код действия следующий:
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import com.firebase.ui.auth.AuthUI;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import java.util.Arrays;
public class LoginActivity extends AppCompatActivity {
private static final int RC_SIGN_IN = 123;
private FirebaseAuth mAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
startActivityForResult(AuthUI.getInstance().createSignInIntentBuilder()
.setAvailableProviders(
Arrays.asList( new AuthUI.IdpConfig.GoogleBuilder().build(),
new AuthUI.IdpConfig.FacebookBuilder().build()))
.setIsSmartLockEnabled(false)
.setTheme(R.style.AppTheme)
.build(),
RC_SIGN_IN);
mAuth = FirebaseAuth.getInstance();
mAuth.addAuthStateListener(firebaseAuth -> {
if(firebaseAuth.getCurrentUser()!= null) {
startHomeActivity();
}
});
}
@Override
public void onStart() {
super.onStart();
FirebaseUser currentUser = mAuth.getCurrentUser();
if(currentUser != null) {
startHomeActivity();
}
}
private void startHomeActivity() {
Intent intent = new Intent(getApplicationContext(), Home.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
}
}
Я уже подписал Firebase с SHA1 и активировал параметры входа в сервис.