不显示DisplayName firebase Android?

不显示DisplayName firebase Android?,android,firebase,firebase-authentication,Android,Firebase,Firebase Authentication,一切都正常,但不只是显示姓名 我的代码是: user = profAuth.getCurrentUser(); if (user != null) { // Name, email address String uid = user.getUid(); String name = user.getDisplayName(); String email = user.getEmail(); txtName.

一切都正常,但不只是显示姓名

我的代码是:

user = profAuth.getCurrentUser();
    if (user != null) {

        // Name, email address
        String uid = user.getUid();
        String name = user.getDisplayName();
        String email = user.getEmail();
        txtName.setText(name);
        txtEmail.setText(email);
        txtUserid.setText(uid);
    }

这是因为Firebase Auth在使用电子邮件/密码注册时不会提示用户提供显示名称。但是你可以。提示用户键入所需的显示名称,并将其传递给下面的
setDisplayName()
方法:

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
        .setDisplayName(desiredName)
        .build();

user.updateProfile(profileUpdates)
        .addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                if (task.isSuccessful()) {
                    Log.d(TAG, "User display name updated.");
                }
            }
        });
FirebaseUser user=FirebaseAuth.getInstance().getCurrentUser();
UserProfileChangeRequest profileUpdates=新建UserProfileChangeRequest.Builder()
.setDisplayName(desiredName)
.build();
user.updateProfile(profileUpdates)
.addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
Log.d(标记“用户显示名称已更新”);
}
}
});

可能是因为您的用户没有名字,当您的提供商不是
gmail
google+
时,这种情况通常会发生。在firebase控制台中检查谁是用户的提供商。我已使用电子邮件/密码身份验证?当您使用电子邮件/密码身份验证创建帐户时,名称将为空,但您可以更改iti。我已使用对象类输入了所有详细信息