我在JavaScript文档中在线查看您可以捕获从createUserWithEmailAndPassword
函数返回的错误代码,以确定它是否已经使用过电子邮件,密码太弱等等。如何在Java中执行此操作?< / p>
这在JavaScript中可以告诉它是什么错误。
firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// ...
});
答案 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。
中查看示例