为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

牛魔王的故事 2022-12-28 16:48:34
我正在尝试使用 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));            }        }    };如果我在我注册的手机中打开它,它会导致验证电子邮件页面。但是清除数据后,它不会将我转发到该页面。
查看完整描述

1 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

出现此问题的原因是 FirebaseUser 对象默认缓存在应用程序中。这就是清除应用程序数据时没有问题的原因。FirebaseAuth.getCurrentUser().reload()在您的应用程序启动时修复此调用。


mAuth=FirebaseAuth.getInstance();

user=mAuth.getCurrentUser();

user.reload()

if(!user.isEmailVerified()){

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

}


查看完整回答
反对 回复 2022-12-28
  • 1 回答
  • 0 关注
  • 62 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信