1
我正在使用Firebase的自定义身份验证。Firebase setDisplayName无效
我想设置一个用户与用户名:
UserProfileChangeRequest userProfileChangeRequest = new UserProfileChangeRequest.Builder()
.setDisplayName("Hello")
.build();
assert currentUser != null;
currentUser.updateProfile(userProfileChangeRequest).addOnCompleteListener(new OnCompleteListener<Void>() {
@SuppressWarnings("ConstantConditions")
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()){
Toast.makeText(UsernameAndProfilePictureChooserActivity.this, "Success. Username: " + getUsername(), Toast.LENGTH_SHORT).show();
}
else {
throw new Error(task.getException().getMessage(),task.getException().getCause());
}
}
});
但它没有任何效果。
敬酒消息(Toast.makeText(UsernameAndProfilePictureChooserActivity.this, "Success. Username: " + getUsername(), Toast.LENGTH_SHORT).show();
被调用,但getUsername(),这是FirebaseAuth.getInstance().getCurrentUser().getDisplayName()
返回null。
关闭应用程序,然后重新打开它不起作用。
这究竟是为什么?
Firebase中存在一个错误,请关闭应用程序并重新打开它。它工作正常 –
@MuhammadFarrukhFaizy nope。它不适合我。 –
刚刚尝试过您的代码,它适用于我。我正在使用'com.google.firebase:firebase-auth:10.2.0'。我会说检查你的'currentUser'对象和''getUsername()'方法。 – Distwo