¿Cómo capturar Android Firebase signUpWithEmailAndPassword código de error?
Veo en línea en la documentación de JavaScript que puede detectar el código de error devuelto por la función createUserWithEmailAndPassword
para determinar si se trata de un correo electrónico ya utilizado, contraseña demasiado débil, etc. ¿Cómo hago esto en Java?
Esto en JavaScript puede decir qué error es.
- Firebase - Correo de verificación de correo electrónico No funciona - Se ha producido un error interno.
- Cómo recuperar campos adicionales de Firebase Token personalizado en "UserInfo"
- Firebase Android onAuthStateChanged llamado dos veces
- Vaciar el campo de correo electrónico de Firebase Auth Usuario que utiliza Integración de inicio de sesión de Facebook (Firebase 3.0)
- FirebaseAuthUserCollisionException?
firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) { // Handle Errors here. var errorCode = error.code; var errorMessage = error.message; // ... });
- Audífono de estado de firebase de Android firebase llamado varias veces
- Contraseña olvidada en Firebase para Android
- El método SetProviders está marcado como desaconsejado
- Firebase: ¿Puedo usar el nuevo kit de cuentas de Facebook para autenticar usuarios de aplicaciones?
- Cómo deshacerse de la advertencia de Android Studio "Resultado de getException () no lanzado"?
- Cambiar contraseña con Firebase para Android
- Uso del correo y la contraseña para autenticarse mediante la API REST
- Autenticación de Firebase en el sitio web de wordpress
Creo que task.getException()
es la contraparte en Android para el errorCode que está buscando. El ejemplo en los documentos lo muestra:
Registrar nuevos usuarios
Cree un nuevo método
createAccount
quecreateAccount
una dirección de correo electrónico y una contraseña, las valide y cree un nuevo usuario con el métodocreateUserWithEmailAndPassword
.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 sign in fails, display a message to the user. If sign in succeeds // the auth state listener will be notified and logic to handle the // signed in user can be handled in the listener. if (!task.isSuccessful()) { Toast.makeText(EmailPasswordActivity.this, R.string.auth_failed, Toast.LENGTH_SHORT).show(); } // ... } });
Agregue un formulario para registrar nuevos usuarios con su correo electrónico y contraseña y llame a este nuevo método cuando se envíe. Puede ver un ejemplo en nuestro ejemplo de inicio rápido .
vea este código para su referencia esto podría ser la respuesta exacta que desea, captura excepción si la tarea no tiene éxito como se muestra en código a continuación,
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 } } });