首页 > 解决方案 > 使用 onCompleteListener 的 Firebase 身份验证不起作用

问题描述

我正在尝试使用 Firebase 实现一个基本的 android 身份验证系统。以下是我的代码:

Toast.makeText(MainActivity.this, "BEFORE ON-COMPLETE", Toast.LENGTH_SHORT).show();  //this shows up
    mAuth.signInWithEmailAndPassword(emailInputted, passInputted).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
        @Override
        public void onComplete(@NonNull Task<AuthResult> task) {
            Toast.makeText(MainActivity.this, "in OnComplete", Toast.LENGTH_SHORT).show(); //this does not show up
            if(task.isSuccessful()){
                Intent i = new Intent(MainActivity.this, Dashboard.class);
                i.putExtra("EMAIL", emailInputted);
                Toast.makeText(MainActivity.this, "Login Successful", Toast.LENGTH_SHORT).show();
                startActivity(i);
            } else {
                Toast.makeText(MainActivity.this, "Please check email/password", Toast.LENGTH_SHORT).show();
            }
        }
    });
    Toast.makeText(MainActivity.this, "after OnComplete", Toast.LENGTH_SHORT).show(); //this shows up

我从官方Firebase 文档中获取了这段代码,但由于某种原因它不起作用。onComplete由于某种原因没有调用该方法。我可以看到“完成前”和“完成后”的祝酒词,但看不到“完成后”的祝酒词。我已经在 firebase 控制台的身份验证表中添加了用户,并且我确信我输入了正确的密码。

使用调试器后,我看到我的代码只是跳过了onComplete()方法,甚至没有到达isSuccessful()方法。我该如何解决?

提前致谢!

标签: javaandroidfirebaseandroid-studiolistener

解决方案


所以它在我重新启动计算机后自行修复。没有代码更改。也许 Android Studio 有点古怪。


推荐阅读