【发布时间】:2018-03-16 17:54:52
【问题描述】:
我有一个 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);
当我成功注册一个新帐户后,我在活动中setVisibity(View.Visible) 一个带有EditTextEmail 和VerifyButton 的验证页面(以防有人想重新发送电子邮件验证)。
我想要做的是当我从我的电子邮件帐户验证我的电子邮件时,我希望页面自动启动我的MainActivity,而不是像短信验证那样在收到验证码时在我的LoginActivity 中保持空闲状态短信,应用程序读取短信并导航到MainActivity。是否可以通过电子邮件验证来实现这一点?因为FirebaseAuthState 在我点击电子邮件上的验证链接后从未改变。
我需要OnFirebaseAuthUserEmailVerifiedListener之类的东西
我是 firebase 的新手,请给我一些建议,告诉我如何实现这一点,或者如果它不可行。
【问题讨论】:
-
我现在已经 10 个月了,因为你开始这个,但我会为未来的读者分享我的想法。我相信您可以在 onStart() 生命周期方法中添加一些代码。此代码将检查用户是否验证了他的电子邮件,如果他验证了,那么您可以做任何您想做的事情。我相信这很好,因为如果用户想要验证他的电子邮件,他必须将您的应用程序置于后台。顺便说一句,我也面临同样的问题,所以如果您找到任何优雅的解决方案,请在此处分享!
标签: java android firebase firebase-authentication