gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 09:36:51 25 4
gpt4 key购买 nike

我正在尝试使用 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));
}
}
};

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

最佳答案

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

mAuth=FirebaseAuth.getInstance();
user=mAuth.getCurrentUser();
user.reload()
if(!user.isEmailVerified()){
startActivity(new Intent(HomePage.this,VerifyEmail.class));
}

关于java - 如何在 Firebase 身份验证中更新用户的详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56408728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com