繁体   English   中英

匿名登录不会触发onAuthStateChanged回调

[英]Anonymous login is not triggering onAuthStateChanged callback

如果用户未登录,我将匿名登录,但是不会触发onAuthStateChanged回调。 另外,每当我尝试使用mAuth.getCurrentUser().getUid() ,它都会给我NullPointerException。 这是我的代码:

mAuth = FirebaseAuth.getInstance();
mAuthListener = new FirebaseAuth.AuthStateListener() {

            @Override
            public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {

                FirebaseUser user = firebaseAuth.getCurrentUser();

                if (user != null) {

                    // do something

                } else {

                    mAuth.signInAnonymously().addOnCompleteListener(MainActivity.this, new OnCompleteListener<AuthResult>() {
                        @Override
                        public void onComplete(@NonNull Task<AuthResult> task) {
                            System.out.println("SIGNED IN ANONYMOUSLY");
                            System.out.println(mAuth.getCurrentUser().getUid()); // crashes here
                        }
                    });

                }
            }
        };

坚持了几个小时,我不知道可能是什么问题。

在此先感谢您的帮助。

我非常确定,因为您的signInAnonymously调用在onComplete回调中未成功返回。 更换

System.out.println("SIGNED IN ANONYMOUSLY");
System.out.println(mAuth.getCurrentUser().getUid());

if (task.isSuccessful()) {
    System.out.println("SIGNED IN ANONYMOUSLY");
    System.out.println(mAuth.getCurrentUser().getUid());
}
else{
    Log.i(TAG, "signInAnonymously", task.getException());
}

并检查异常

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM