当我尝试在我的 Android 应用程序中使用 Firebase 身份验证方法注册用户时,发生了这种情况:
这不是注册用户 这是注册码
final String _name = txtName.getText().toString().trim();
String _email = txtEmail.getText().toString().trim();
String _pass = txtPass.getText().toString().trim();
if(!TextUtils.isEmpty(_name) && !TextUtils.isEmpty(_email) && !TextUtils.isEmpty(_pass) ) {
mProgress.setMessage("Registrando ...");
mProgress.show();
firAuth.createUserWithEmailAndPassword(_email, _pass).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()) {
//the user has been registered
}
}
});
最佳答案
您正在注册用户,但在用户在 firebase 中成功注册后没有隐藏进度条。尝试应用此代码并检查 firebase 仪表板以进行身份验证。并且还实现 onFailureListener 以了解用户未注册的原因。
firAuth.createUserWithEmailAndPassword(_email, _pass).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
mProgress.dismis();
if(task.isSuccessful()) {
//the user has been registered
Log.d("onSuccess","USER REGISTERED");
}
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
mProgress.dismis();
Log.e("onFailure",e.getMessage());
}
}
);
编辑:如果您仍然面临同样的问题,请检查您的 firebase 控制台身份验证选项卡中的这些设置,
选择 SIGN-IN METHOD 并检查 Email/Password 的状态,如果它是Disable 然后切换到Enable .
看起来您正在使用 Genymotion,那么您是否已将 Google 库安装到您的虚拟设备中?
如果不遵循这个thread或在物理设备上测试您的应用
关于android - 在 Android 应用程序中使用电子邮件 ID 和密码注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42523611/