为什么有时候始终显示为用户Id?异步获取到用户信息后怎么通知融云去刷新界面?

问题产生原因:

这种情况是因为在用户信息提供者的getUserInfo()接口存在返回 null 的情况,原因是请求的用户信息在 app 的本地缓存里没有,app 需要异步去 server 请求,所以在 getUserInfo 里先同步返回null了。

解决方案:

在去app server异步获取到用户信息后,调用下面api通知融云刷新界面。

RongIM.getInstance().refreshUserInfoCache()

通过设置 io.rong.imkit.userinfo.RongUserInfoManager#addUserDataObserver 回调来获取用户信息