Firebase Auth в фоновой службе

У меня есть фоновая служба Android, на функции onCreate() я запускаю это

FirebaseAuth mAuth = FirebaseAuth.getInstance();

mAuth.signInWithEmailAndPassword("[email protected]", "password")
    .addOnCompleteListener((Executor)this, new OnCompleteListener<AuthResult>() {
        @Override
        public void onComplete(@NonNull Task<AuthResult> task) {
            if (task.isSuccessful()) {
                Log.d(Actions.LOG_TAG, "signInWithEmail:success");
                FirebaseUser user = mAuth.getCurrentUser();

            } else {
                Log.w(Actions.LOG_TAG, "signInWithEmail:failure", task.getException());
            }
        }
    });

но он вылетает. Почему? исключение catch

network provider does not exist, provider doesn't exist: network

Attempt to invoke virtual method 'com.google.android.gms.tasks.Task com.google.android.gms.common.api.GoogleApi.zzb(com.google.android.gms.common.api.internal.zzde)' on a null object reference java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.android.gms.tasks.Task com.google.android.gms.common.api.GoogleApi.zzb(com.google.android.gms.common.api.internal.zzde)' on a null object reference

РЕДАКТИРОВАТЬ

Та же проблема с помещением кода в функцию onStart () в MainActivity (следуя этому руководству https://firebase.google.com/docs/auth/android/password-auth)

он достигает еще Log.w(Actions.LOG_TAG, "signInWithEmail:failure", task.getException()); или вылетает раньше?

Peter Haddad 28.03.2018 09:15

Я не уверен, что эта ошибка имеет какое-либо отношение к опубликованному вами коду. Это вся трассировка стека?

Nerdy Bunz 28.03.2018 09:17

Он вылетает перед функцией onComplete (), он вылетает на mAuth.signInWithEmailAndPassword (...)

Mauro Sala 28.03.2018 10:43

вы включили метод электронной почты / пароля?

Peter Haddad 28.03.2018 12:53

да, у меня есть приложение React Native, которое делает то же самое и отлично работает

Mauro Sala 28.03.2018 12:54

Вы пробовали убрать каст, поменяв (Executor)this только на this?

Alex Mamo 28.03.2018 15:14

Да, но возникает ошибка, и я не могу запустить приложение

Mauro Sala 28.03.2018 17:00
0
7
622
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В эмуляторе не установлены сервисы Google Play.

Firebase Auth не поддерживает устройства без игровых сервисов.

Если вы хотите использовать Firebase, вам необходимо использовать Firebase Admin SDK.

Другие вопросы по теме