我只想在电子邮件经过验证后开始新 Activity ,但我也为 google 和 facebook 登录设置了 AuthStateListener。
如何将 google/facebook 登录和电子邮件登录 startActivity 分开?
我尝试将 .isEmailVerified 包含在当前的 AuthStateListener 中,但不起作用。
这是我为 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/