尝试使用基于密码的帐户向Firebase进行身份验证

时间:2019-12-22 15:21:03

标签: java android firebase firebase-authentication

为什么此代码总是变为假?所以我不能添加任何用户。在firebase上,我已经激活了密码身份验证,请帮助我解决此问题。

注意:我用手机而不是android studio的模拟器运行此应用

private void register(final String username, String email, String password){
    auth.createUserWithEmailAndPassword(username, password)
        .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {
                if (task.isSuccessful()){
                    FirebaseUser firebaseUser= auth.getCurrentUser();
                    assert firebaseUser !=null;
                    String userid = firebaseUser.getUid();

                    reference = FirebaseDatabase.getInstance().getReference("Users").child(userid);

                    HashMap<String, String> HashMap = new HashMap<>();
                    HashMap.put("id", userid);
                    HashMap.put("username", username);
                    HashMap.put("imageURL", "default");

                    reference.setValue(HashMap).addOnCompleteListener(new OnCompleteListener<Void>() {
                        @Override
                        public void onComplete(@NonNull Task<Void> task) {
                            if(task.isSuccessful()){
                                Intent intent = new Intent(RegisterActivity.this, MainActivity.class);
                                intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
                                startActivity(intent);
                                finish();
                            }
                        }
                    });
                }else {
                    Toast.makeText(RegisterActivity.this, "You can't register with this email or password", Toast.LENGTH_SHORT).show();
                }
            }
        });
}

1 个答案:

答案 0 :(得分:0)

我知道我的问题错字

auth.createUserWithEmailAndPassword(username, password)

必须是

auth.createUserWithEmailAndPassword(email, password)

谢谢您的帮助!