我只想在电子邮件经过验证后才开始新 Activity ,但我也为 google 和 facebook 登录设置了 AuthStateListener。
我如何分离 google/facebook 登录和电子邮件登录 startActivity?
我试图在当前的 AuthStateListener 中包含 .isEmailVerified 但没有工作。
这是我为 google 和 facebook 登录设置的,运行良好:
mAuthStateListener = firebaseAuth -> {
FirebaseUser mFirebaseUser = mFirebaseAuth.getCurrentUser();
if(mFirebaseUser != null){
Toast.makeText(MainActivity.this, "Accesso effettuato corretamente", Toast.LENGTH_LONG).show();
Intent i = new Intent(MainActivity.this, Home.class);
startActivity(i);
}
else {
Toast.makeText(MainActivity.this, "Effettua l'accesso per continuare", Toast.LENGTH_LONG).show();
}
};
我试过这个:
mAuthStateListener = firebaseAuth -> {
FirebaseUser mFirebaseUser = mFirebaseAuth.getCurrentUser();
if(mFirebaseUser.isEmailVerified()){
Toast.makeText(MainActivity.this, "Accesso effettuato corretamente", Toast.LENGTH_LONG).show();
Intent i = new Intent(MainActivity.this, Home.class);
startActivity(i);
}
else {
Toast.makeText(MainActivity.this, "Effettua l'accesso per continuare", Toast.LENGTH_LONG).show();
}
};
我相信解决它很容易,但我正在学习,所以请耐心等待。
最佳答案
我解决了它只是添加 && mFirebaseAuth.isEmailVerified,它看起来工作正常
mAuthStateListener = firebaseAuth -> {
FirebaseUser mFirebaseUser = mFirebaseAuth.getCurrentUser();
if(mFirebaseUser != null && mFirebaseAuth.isEmailVeried){
Toast.makeText(MainActivity.this, "Accesso effettuato corretamente", Toast.LENGTH_LONG).show();
Intent i = new Intent(MainActivity.this, Home.class);
startActivity(i);
}
else {
Toast.makeText(MainActivity.this, "Effettua l'accesso per continuare", Toast.LENGTH_LONG).show();
}
};
关于java - 验证电子邮件后如何开始新 Activity (firebase),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57231642/