Firebase 9.0.2身份验证错误代码

时间:2016-06-22 08:06:31

标签: android firebase firebase-authentication

根据旧文档,firebase提供身份验证错误作为firebase错误,它提供了代码,但在新的firebase 9.0.2中,它只会异常,可以转换为FirebaseAuthException并且具有getCode但是字符串。现在我想在firebase中获得所有可能的错误。我试过但找不到任何解决方案。 Ios处理错误部分并提供代码(int)错误,而不是Android。请帮忙。 Thanx提前

2 个答案:

答案 0 :(得分:3)

要在FirebaseAuth中获取所有可能的错误,您可以执行以下操作:

private void handleAuthenticationException(@NonNull Exception exception) {
    if (exception instanceof FirebaseAuthUserCollisionException) {
        if (((FirebaseAuthUserCollisionException) exception).getErrorCode().equals("ERROR_ACCOUNT_EXISTS_WITH_DIFFERENT_CREDENTIAL")) {
            //do something...
        }
    }
    // Other relevant exceptions for you...
}

从OnFailureListener中调用此方法,如下所示:

firebaseAuth.signInWithCredential(credential).
    .addOnSuccessListener(/*Your code here!*/)
    .addOnFailureListener(this, new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception exception) {
            handleAuthenticationException(exception);
        }
    );

请查看FirebaseAuthException文档以获取更多信息。

答案 1 :(得分:1)

您可以尝试通过在可能出错的任何地方执行代码来解决错误。

Toast.makeText(YourActivity.this, ((FirebaseAuthException) task.getException()).getMessage(), Toast.LENGTH_SHORT).show();