Firebase未更新当前用户显示名称

时间:2019-08-10 15:08:04

标签: java android firebase firebase-authentication

我正在使用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'

谢谢您的帮助。

2 个答案:

答案 0 :(得分:1)

问题是由于Firebase的内部缓存所致。更新成功后,您可以致电getCurrentUser().reload()手动刷新数据。

FirebaseAuth.getInstance().getCurrentUser().reload()

根据doc

  

公共任务重新加载()

     

手动刷新当前用户的数据(例如,附加的提供程序,显示名称等)。

答案 1 :(得分:0)

确保您正在使用id与当前用户的FirebaseAuth.getInstance().getCurrentUser.getUid();访问userInfo