簡體   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