我在firebase身份验证中有一个帐户,包括电子邮件和密码。但是,当我使用此代码时,即使我输入错误的电子邮件和密码,firebase也会返回"成功登录"我期待你的帮助。非常感谢你!
private void signIn(){
String email = editTextEmail.getText().toString();
String password = editTextPassword.getText().toString();
mAuth.signInWithEmailAndPassword(email, password)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isComplete()){
Toast.makeText(MainActivity.this,"Sign in successfull",Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(MainActivity.this,"Sign in failed",Toast.LENGTH_SHORT).show();
}
}
});
}
答案 0 :(得分:0)
那是因为你正在使用isComplete,因为你在onComplete下运行它,所以它总是为真。请改用isSuccessful。
if(task.isSuccessful()){
Toast.makeText(MainActivity.this,"Sign in successfull",Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(MainActivity.this,"Sign in failed",Toast.LENGTH_SHORT).show();
}