Ошибка входа в Firebase: ошибка входа в систему с помощью Google - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть экран входа в систему, на котором вы можете войти через 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 и активировал параметры входа в сервис.

Ответы [ 2 ]

0 голосов
/ 15 октября 2018

Шаги, которые необходимо решить:

1 - keytool -list -v -keystore ~ ​​/ .android / debug.keystore

2 - скопировать SHA1 (должно бытьSHA1 потому что это то, что они используют для Oauth)

3 - войдите в консоль Firebase -> настройки проекта -> общие -> приложение для Android

4 - прокрутите вниз и добавьте свой отпечаток SHA1 в список отпечатков пальцев.

5 - загрузите новый google-services.json и замените его в своем проекте студии android.

6 - удалить приложение с телефона и заново развернуть

0 голосов
/ 08 октября 2018

Попробуйте добавить свой SHA1 для имени вашего пакета в настройках вашего проекта в Консоль Firebase .

...