gpt4 book ai didi

android - 在 firebase 中更新用户的显示名称(android)

转载 作者:行者123 更新时间:2023-12-05 05:20:29 24 4
gpt4 key购买 nike

我正在为登录屏幕创建一个带有 firebase 的项目。我正在尝试使用下面的代码更新用户的显示名称,但它没有更新显示名称。帮帮我

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
.setDisplayName(name)
.build();
user.updateProfile(profileUpdates).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(task.isSuccessful()){
Toast.makeText(VerifyUser.this,"Name updated successfully",Toast.LENGTH_LONG).show();
startActivity(new Intent(VerifyUser.this,MainActivity.class));
}else
Toast.makeText(VerifyUser.this,"Name update Failed",Toast.LENGTH_LONG).show();
}
});

最佳答案

您需要在登录或验证电子邮件和密码后立即更新用户资料。

我知道我来晚了,但为了后代,要在 firebase 上更新用户属性,他们需要先登录。

所以像这样:

 mAuth.signInWithCredential(credential)
.addOnCompleteListener(LordRegister.this,
new OnCompleteListener<AuthResult>() {

@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
//verification successful we will start the profile activity
FirebaseUser user = task.getResult().getUser();
String name = nameInput.getText().toString().trim();
//user.updateProfile()
UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
.setDisplayName(name)
.build();
user.updateProfile(profileUpdates).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(task.isSuccessful()){
Intent intent = new Intent(LordRegister.this, LordHome.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
}else
Toast.makeText(LordRegister.this,"Name update Failed, try again",Toast.LENGTH_LONG).show();
}
});

} else {

//verification unsuccessful.. display an error message

String message = "Somthing is wrong, we will fix it soon...";

if (task.getException() instanceof FirebaseAuthInvalidCredentialsException) {
message = "Invalid code entered...";
}
Toast.makeText(LordRegister.this,message,Toast.LENGTH_SHORT).show();
}
}
});
}

像上面一样,我使用用户电话号码登录或先验证用户,然后更新名称或任何其他属性。

关于android - 在 firebase 中更新用户的显示名称(android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44587202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com