在我的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
}
}
});
}
答案 0 :(得分:0)
我有同样的问题。我正在使用FirebaseUI并自动在Firebase数据库上创建用户,即使电子邮件尚未经过验证。但Firebase可让您通过方法user.isEmailVerified
检查电子邮件是否已经过验证。有两种可能性:
答案 1 :(得分:0)
每隔几秒钟即可通过调用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);