Firebase 3.0 createUserWithEmailAndPassword()错误处理

时间:2016-09-21 05:05:38

标签: android firebase firebase-authentication

之前,使用Firebase 2.x,为了添加新用户,我们只需在Firebase参考上调用createUser(),传递电子邮件,密码和ValueResultHandler

使用ValueResultHandler

实施了两个回调
  • onSuccess(Map<String, Object> result) {}
  • onError(FirebaseError firebaseError) {}

onError中,很容易抓住firebaseError来处理错误。 像:

if (firebaseError.getCode() == FirebaseError.EMAIL_TAKEN) {}

但是现在使用Firebase SDK 3.0时,Documentation page上显示的内容已发生变化。

但是我们如何进行错误处理呢?例如,已经收到电子邮件的情况?感谢。

1 个答案:

答案 0 :(得分:0)

您可以在调用createUserWithEmailAndPassword时添加新方法。 您应该添加方法addOnFailureListener。这是一个代码示例:

mAuth.createUserWithEmailAndPassword(email, password).
            addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    Log.d(TAG, "createUserWithEmail:onComplete:" + task.isSuccessful());

                    if (!task.isSuccessful()) {
                        Toast.makeText(this, R.string.msg_error_auth,
                                Toast.LENGTH_SHORT).show();
                    }
                }
            })
            .addOnFailureListener(this, new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                   // Here you get the error type
                   Log.d(TAG + " - On Failure", e.getMessage());
            }
    });