我一直试图通过Android中的不同帐户登录,我无法为不同的用户提供不同的重定向。主要是我无法从身份验证中获取用户的电子邮件作为条件,以便我可以有不同的重定向。从现在开始尝试不同的步骤。有人可以帮忙吗?
mAuth.signInWithEmailAndPassword(email, password).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful() == true) {
if(email.equals("dummy@gmail.com"))
{
progressDialog.dismiss();
finish();
startActivity(new Intent(Login.this,RegisterActivity.class));
}
else {
progressDialog.dismiss();
finish();
startActivity(new Intent(Login.this, MainActivity.class));
}
} else if (task.isSuccessful() == false) {
progressDialog.dismiss();
Toast.makeText(Login.this, "Invalid emailid or password.", Toast.LENGTH_SHORT).show();
passwordUser.getText().clear();
emailUser.getText().clear();
emailUser.requestFocus();
return;
}
}
});
答案 0 :(得分:0)
只有firebase无法帮助您确定用户的角色。您需要将firebase auth与数据库集成以确定用户的角色。
要访问登录用户的电子邮件,请遵循此代码
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
// Name, email address, and profile photo Url
String name = user.getDisplayName();
String email = user.getEmail();
Uri photoUrl = user.getPhotoUrl();
// Check if user's email is verified
boolean emailVerified = user.isEmailVerified();
// The user's ID, unique to the Firebase project. Do NOT use this value to
// authenticate with your backend server, if you have one. Use
// FirebaseUser.getIdToken() instead.
String uid = user.getUid();
}