不显示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。我已使用对象类输入了所有详细信息