当使用相同的电子邮件地址和密码登录现有用户时,响应始终为“无法登录,请检查您的电子邮件和密码,然后重试”
private void loginUser(String email, String password) {
mAuth.signInWithEmailAndPassword(email, password).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (!task.isSuccessful()){
mLoginProgress.dismiss();
Intent mainIntent = new Intent(LoginActivity.this, MainActivity.class);
startActivity(mainIntent);
finish();
}
else {
mLoginProgress.hide();
Toast.makeText(LoginActivity.this,
"Cannot sign in. Please check your email and password and try again.", Toast.LENGTH_SHORT).show();
}
}
});
}
最佳答案
当响应成功时,您可以使用 !
将其变为失败
(!task.isSuccessful()) => (!true)
=> (false)
因此删除否定运算符 (!
)
if (task.isSuccessful())
代码
mAuth.signInWithEmailAndPassword(email, password).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()){ // success
//..code
}
else { // failure
//..code
}
}
});
}
关于java - Firebase 身份验证 : with Sign in existing user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47239582/