[英]Android Firebase cannot refresh email verification status
在我的 Android 应用程序中,我正在创建用户并发送验证电子邮件。 当用户通过单击收到的电子邮件中的链接进行验证后,我想进入下一页。 但是,验证状态没有更新,所以我无法继续。 我试过注销并再次登录,这有效,但我不想以这种方式刷新状态。 有什么想法吗?
这是我的代码:
public void onClickContinueBtn() {
final FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
user.reload().addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(task.isSuccessful()) {
if(!user.isEmailVerified()){
// not verified block
// get into here even if verified
} else {
// email verified, go to next page
}
} else {
// do nothing, or show error
}
}
});
}
我有同样的问题。 我正在使用 FirebaseUI,即使电子邮件尚未经过验证,它也会自动在 Firebase DB 上创建用户。 但是 Firebase 让您可以通过user.isEmailVerified
方法检查电子邮件是否已通过验证。 user.isEmailVerified
可能性:
您可以通过每隔几秒钟调用reload
来刷新用户。 示例:
final Handler handler = new Handler();
final int delay = 5000; //milliseconds
handler.postDelayed(new Runnable(){
public void run(){
Toast.makeText(EmailVerificationActivity.this, "I'm here", Toast.LENGTH_SHORT).show();
handler.postDelayed(this, delay);
}
}, delay);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.