如何处理FirebaseAuth异常

时间:2016-10-19 18:11:56

标签: android firebase firebase-authentication

我使用Firebase中的身份验证服务可以运行,但我不知道如何处理createUserWithEmailAndPassword()的错误代码,例如auth / email-already-in-use或auth / invalid -email,在这里你可以看到错误列表https://firebase.google.com/docs/reference/js/firebase.auth.Auth#createUserWithEmailAndPassword

public void register(View target){
        EditText email  = (EditText) findViewById(R.id.editTextName);
        EditText pass  = (EditText) findViewById(R.id.editTextPass);
        Log.d("email",email.getText().toString());
        Log.d("pass",pass.getText().toString());
        auth.createUserWithEmailAndPassword(email.getText().toString(),pass.getText().toString())
            .addOnCompleteListener(this, new OnCompleteListener<AuthResult>(){
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    if(task.isSuccessful()){
                        Toast.makeText(RegistroActivity.this, "success",
                                Toast.LENGTH_SHORT).show();
                    }else{
                        Toast.makeText(RegistroActivity.this, "fail",
                                Toast.LENGTH_SHORT).show();
                    }

                }
            });

    }

1 个答案:

答案 0 :(得分:3)

FirebaseAuth.getInstance().createUserWithEmailAndPassword("EMAIL", "PASSWORD")
   .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
       @Override
       public void onComplete(@NonNull Task<AuthResult> task) {
           if (!task.isSuccessful()) {
               if (task.getException() instanceof FirebaseAuthUserCollisionException) {
               // thrown if there already exists an account with the given email address
               } else if (task.getException() instanceof FirebaseAuthInvalidCredentialsException) {
               // thrown if the email address is malformed
               } else if (task.getException instanceof FirebaseAuthWeakPasswordException) {
               // thrown if the password is not strong enough
               }
           }
       }
   });