我正在使用Firebase进行注册和登录。我可以在Firebase中成功创建帐户,但是当用户想要更改配置文件图像和用户名时,则可以更改配置文件图像,但是显示名称保持不变我选择的任何名称
这是我正在使用的代码
UserProfileChangeRequest profleUpdate = new UserProfileChangeRequest.Builder()
.setDisplayName("Newusername")
.setPhotoUri(uri)
.build();
并且我已经通过使用
设置了task.sucessfull侦听器if (task.isSuccessful()) {
// user info updated successfully
showMessage("Sucessfully changed");
}
,我得到 成功更改 的响应,但是当我返回到个人资料活动时,仅显示新的更新图像,但显示名称保持不变。
这是我正在使用的Firebase版本
implementation 'com.google.firebase:firebase-auth:11.6.2'
谢谢您的帮助。
答案 0 :(得分:1)
问题是由于Firebase的内部缓存所致。更新成功后,您可以致电getCurrentUser().reload()
手动刷新数据。
FirebaseAuth.getInstance().getCurrentUser().reload()
根据doc
公共任务重新加载()
手动刷新当前用户的数据(例如,附加的提供程序,显示名称等)。
答案 1 :(得分:0)
确保您正在使用id
与当前用户的FirebaseAuth.getInstance().getCurrentUser.getUid();
访问userInfo