我目前正在使用Firebase密码身份验证,这是我的登录方法,非常常见。
我有一个else
块语句告诉用户登录不成功但是没有告诉用户具体错误。如何识别用户输入的密码是否错误?
private void signIn(String email, String password, final View view) {
Log.d(TAG, "signIn:" + email);
if (!validateForm()) {
return;
}
showProgress();
// [START sign_in_with_email]
fLogInAuth.signInWithEmailAndPassword(email, password)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()) {
progressDialog.dismiss();
FirebaseUser currUser = fLogInAuth.getCurrentUser();
establishUI(currUser);
} else {
progressDialog.dismiss();
establishUI(null);
Snackbar.make(view, "Unable to login, Please try again in a few moments",Snackbar.LENGTH_LONG).show();
}
}
});
}
答案 0 :(得分:0)
在onComplete()
内使用.toSortedMap {x, y -> (y-x).compareTo(0)}
获取错误消息。