電子メールの検証が唯一のサインアップが成功した後、createUserWithEmailAndPassword(...)
方法のonComplete
方法であることウォールドそれを送信するためにEmail/Password authentication
、最高の場所で動作しますので。
firebaseAuth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
sendVerificationEmail();
....
カスタムsendVerification
方法は次のとおりです。
public void sendVerificationEmail() {
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
user.sendEmailVerification()
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(SignUpActivity.this, "Signup successful.
Verification email sent", Toast.LENGTH_SHORT).show();
}
}
});
}
}
ユーザーが呼び出すことによって、あなたのアプリケーション内の任意の場所に自分の電子メールを確認した場合は、その後、確認することができ
:
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
firebaseUser = firebaseAuth.getCurrentUser();
if (firebaseUser != null) {
Log.e(TAG, firebaseUser.isEmailVerified() ? "User is signed in and email is verified" : "Email is not verified");
} else {
Log.e(TAG, "onAuthStateChanged:signed_out");
}
}
};
が動作を確認するには、I他の2つのメールIDで試してみても確認メールを受け取ることはできません。 – Vijay
質問の状態が変更されました。より最新の回答が利用可能になりました。 – Makoto