如何捕获Android Firebase signUpWithEmailAndPassword错误代码?

时间:2017-04-13 15:54:53

标签: android firebase firebase-authentication

我在JavaScript文档中在线查看您可以捕获从createUserWithEmailAndPassword函数返回的错误代码,以确定它是否已经使用过电子邮件,密码太弱等等。如何在Java中执行此操作?< / p>

这在JavaScript中可以告诉它是什么错误。

firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
  // Handle Errors here.
  var errorCode = error.code;
  var errorMessage = error.message;
  // ...
});

2 个答案:

答案 0 :(得分:5)

请参阅此代码供您参考,这可能是您想要的确切答案,如果任务不成功则捕获异常,如下面的代码所示,

             mAuth.createUserWithEmailAndPassword(mUserEmail, mPassword)
            .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {

                    Log.d(LOG_TAG, getString(R.string.log_message_auth_successful) + " createUserWithEmail:onComplete:" + task.isSuccessful());

                    // if task is not successful show error
                    if (!task.isSuccessful()) {
                        mAuthProgressDialog.dismiss();

                        try {
                            throw task.getException();
                        } catch (FirebaseAuthUserCollisionException e) {
                              // show error toast ot user ,user already exist

                            } catch (FirebaseNetworkException e) {
                            //show error tost network exception

                        } catch (Exception e) {
                            Log.e(LOG_TAG, e.getMessage());
                        }
                        Toast.makeText(CreateAccountActivity.this, R.string.log_error_occurred,
                                Toast.LENGTH_LONG).show();
                    } else {

                        // successfully account created
                        // now the AuthStateListener runs the onAuthStateChanged callback


                    }
                }

            });

答案 1 :(得分:2)

我认为task.getException()是您正在寻找的 errorCode 的Android版本。 docs中的示例显示了它:

  

注册新用户

     

创建一个新的 videoDevice.DisplayPropertyPage(IntPtr.Zero); 方法,该方法接收电子邮件地址和密码,验证它们,然后使用createUserWithEmailAndPassword方法创建新用户。

createAccount
     

添加表单以使用其电子邮件和密码注册新用户,并在提交时调用此新方法。您可以在quickstart sample

中查看示例