gpt4 book ai didi

java - Android Firebase AuthStateListener 电子邮件已验证

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:00:42 26 4
gpt4 key购买 nike

我有一个带有 Firebase AuthStateListener 的 SignInActivity。

final FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
final FirebaseAuth.AuthStateListener firebaseAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(FirebaseAuth auth) {
FirebaseUser user = auth.getCurrentUser();
if (user != null && user.isEmailVerified()) {
firebaseAuth.removeAuthStateListener(this);
startActivity(new Intent(LoginActivity.this, MainActivity.class));
}
}
};
firebaseAuth.addAuthStateListener(firebaseAuthListener);

当我成功注册一个新帐户时,我在 Activity 中 setVisibity(View.Visible) 一个带有 EditTextEmailVerifyButton 的验证页面(以防有人想要重新发送电子邮件验证)。

我想做的是当我从我的电子邮件帐户验证我的电子邮件时,我希望该页面自动启动我的 MainActivity 而不是只是在我的 LoginActivity 中闲置与短信验证一样,当收到短信中的验证码时,应用会读取短信并导航到 MainActivity。是否可以通过电子邮件验证来实现这一点?因为即使在我点击电子邮件中的验证链接后,FirebaseAuthState 也从未改变。

我需要像 OnFirebaseAuthUserEmailVerifiedListener 这样的东西

我是 firebase 的新手,请就如何实现这一目标或是否不可能给我建议。

最佳答案

This link真的很有用。

Because the FirebaseAuthState never changed even after I click on verification link on my email.

那是因为用户被缓存了,需要重新加载用户:

Do note that the FirebaseUser object is cached within an app session, so if you want to check on the verification state of a user, it's a good idea to call .getCurrentUser().reload() for an update.

关于java - Android Firebase AuthStateListener 电子邮件已验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46580095/

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