FirebaseでSignInActivityを持っていますAuthStateListener
。私は成功した新しいアカウントを登録しAndroid Firebase AuthStateListener Email Verified
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);
、I setVisibity(View.Visible)
(誰かが電子メールの検証を再送信したい場合には)アクティビティ内EditTextEmail
& VerifyButton
と検証ページ。
私がしたいことは、電子メールアカウントから自分の電子メールを確認したときに、SMSで確認コードが受信されたときに、LoginActivity
にアイドル状態を維持する代わりに自動的にMainActivity
アプリはSMSを読み取り、MainActivity
にナビゲートします。電子メールによる検証でこれを達成することは可能ですか?私のメールで確認リンクをクリックしても、FirebaseAuthState
は変更されていないためです。私はfirebaseに新たなんだ
OnFirebaseAuthUserEmailVerifiedListener
ようなものが必要
は、親切に私にこれを達成するためにどのようにかそれが不可能な場合はアドバイスをお願いします。
私はreload()メソッドをどこで呼び出すべきですか? –
電子メールが確認されるまで何もすることを許可しない場合、スピンループすることができます。つまり、 'while(!user.isEmailVerified()){mAuth.getCurrentUser()。reload(); } '、未確認の電子メールであってもアプリをナビゲートすることができる場合は、例えば' reload() 'メソッドを呼び出す更新ボタンを使ってSnackbarを追加することができます – Century
ありがとうございました。 Snackbarを追加してユーザー認証を更新します。 –