如何在 Firebase 身份验证中更新用户的详细信息

我正在尝试使用 firebase 在 android studio 中开发一个应用程序,用户在注册后验证他们的电子邮件地址。但即使在验证了电子邮件地址之后,每当我再次打开应用程序时,它都会将我转发到发送电子邮件验证码页面。但是,如果我清除应用程序数据,则不存在同样的问题。


我尝试使用 AuthStateListener(不太了解它)但它没有用。


这是我试过的代码。我也在没有authstatelistener的情况下尝试过,但同样的问题仍然存在


   mAuth=FirebaseAuth.getInstance();

    user=mAuth.getCurrentUser();

    authStateListener=new FirebaseAuth.AuthStateListener() {

        @Override

        public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {

            if(!user.isEmailVerified()){

                startActivity(new Intent(HomePage.this,VerifyEmail.class));

            }

        }

    };

如果我在我注册的手机中打开它,它会导致验证电子邮件页面。但是清除数据后,它不会将我转发到该页面。


牛魔王的故事
浏览 63回答 1
1回答

子衿沉夜

出现此问题的原因是 FirebaseUser 对象默认缓存在应用程序中。这就是清除应用程序数据时没有问题的原因。FirebaseAuth.getCurrentUser().reload()在您的应用程序启动时修复此调用。mAuth=FirebaseAuth.getInstance();user=mAuth.getCurrentUser();user.reload()if(!user.isEmailVerified()){     startActivity(new Intent(HomePage.this,VerifyEmail.class));}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java