Member 10627743 Ответов: 1

Как решить java.lang.illegalstateexception в аутентификации firebase


Привет android энтузиаст,

Я надеюсь, что блокировка не берет это на себя все вы, мы обязательно переживем эту пандемию

Я реализовал firenase email/password authemtication в своем приложении, которое работает хорошо, пока я не перенес свое приложение androidx во время теста
при нажатии на кнопку входа в систему приложение выходит из строя и показывает следующее сообщение об ошибке в logcat

Ява.яз.IllegalStateException: не допускается, чтобы начать обслуживание намерениях { СМР=ком.Гугл.андроид.приложений.обмен сообщениями/.общая.datamodel.действий.исполнения.ActionExecutorImpl$EmptyService }: приложение находится в фоновом режиме uid UidRecord{dceaaa5 u0a102 CEM idle change:cached procs:1 seq(0,0,0)}
в android.app.ContextImpl.startServiceCommon(ContextImpl.java:1577)
в android.app.ContextImpl.startService(ContextImpl.java:1532)
на android.content.ContextWrapper.startService(ContextWrapper.java:664)
на ком.Гугл.андроид.приложений.системы обмена сообщениями.общая.datamodel.действий.исполнения.ActionExecutorImpl.a(PG:97)
на ком.Гугл.андроид.приложений.системы обмена сообщениями.общая.datamodel.действий.исполнения.ActionExecutorImpl.a(PG:91)
в exo.c(PG:111)
в exl.run(PG:1)
на uev.run(PG:3)
в android.os.Handler.handleCallback(Handler.java:873)
в android.os.Handler.dispatchMessage(Handler.java:99)
на Андроид.ОС."Петля времени".петли(лупер.Ява:193)
в android.app.ActivityThread.main(ActivityThread.java:6852)
в java.lang.reflect.Method.invoke(собственный метод)
в com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:504)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

Смотрите ниже ObClickListener для кнопки входа в систему

private void loginBronze() {
        //We get the email and password from the text boxes
        final String email = bronzeEmail.getText().toString().trim();
        String password = bronzePassword.getText().toString().trim();

        //We verify that the text boxes are not empty
        if (TextUtils.isEmpty(email)) {//(precio.equals(""))
            Toast.makeText(this, "You must enter an email", Toast.LENGTH_LONG).show();
            return;
        }

        if (TextUtils.isEmpty(password)) {
            Toast.makeText(this, "Password is missing", Toast.LENGTH_LONG).show();
            return;
        }


        progressDialog.setMessage("Performing online consultation ...");
        progressDialog.show();

        //loguear usuario
        firebaseAuth.signInWithEmailAndPassword(email, password)
                .addOnCompleteListener((Executor) this, new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {
                        //checking if success
                        if (task.isSuccessful()) {
                            int pos = email.indexOf("@");
                            String user = email.substring(0, pos);
                            Toast.makeText(BronzeActivationPage.this, "Bienvenido: " + bronzeEmail.getText(), Toast.LENGTH_LONG).show();
                            Intent intencion = new Intent(getApplication(), BronzePackageHome.class);
                            intencion.putExtra(BronzePackageHome.user, user);
                            startActivity(intencion);


                        } else {
                            if (task.getException() instanceof FirebaseAuthUserCollisionException) {//si se presenta una colisión
                                Toast.makeText(BronzeActivationPage.this, "That user already exists ", Toast.LENGTH_SHORT).show();
                            } else {
                                Toast.makeText(BronzeActivationPage.this, "Could not login ", Toast.LENGTH_LONG).show();
                            }
                        }
                        progressDialog.dismiss();
                    }
                });


    }


Когда я искал решение в google, я наткнулся на приведенный ниже url-адрес stackoverflow, но я действительно не понимаю, как его реализовать.
решение в моем коде
https://stackoverflow.com/questions/46445265/android-8-0-java-lang-illegalstateexception-not-allowed-to-start-service-inten

Пожалуйста помогите

Что я уже пробовал:

Когда я искал решение в google, я наткнулся на приведенный ниже url-адрес stackoverflow, но я действительно не понимаю, как его реализовать.
решение в моем коде
https://stackoverflow.com/questions/46445265/android-8-0-java-lang-illegalstateexception-not-allowed-to-start-service-inten

1 Ответов

Рейтинг:
0

Member 14897805

Что это

.addOnCompleteListener((Executor) this, new OnCompleteListener<AuthResult>()


У меня есть подлое подозрение, что это связано с жирным параметром в вашем OnCompleteListener.

Кроме того, взгляните на свой файл сборки gradle для приложения. Откатите свою Firebase назад на одну версию и посмотрите, сможете ли вы продублировать ошибку.