我有一個與Firebase AuthStateListener
簽署活動。Android Firebaase AuthStateListener電子郵件已驗證
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
我新的火力點,請您給我建議就如何實現這一目標,或者如果它是不可能的。
我應該在哪裏調用我的reload()方法? –
如果在電子郵件驗證之前您不允許進行任何操作,則可以進行自旋循環,即'while(!user.isEmailVerified()){mAuth.getCurrentUser()。reload(); }',如果您甚至可以通過未經驗證的電子郵件瀏覽您的應用程序,則可以添加例如帶有刷新按鈕的Snackbar,該按鈕調用'reload()'方法 – Century
感謝您的建議。我將添加Snackbar來刷新用戶身份驗證。 –