public class RongUserInfoManager
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static interface |
RongUserInfoManager.UserDataObserver |
Modifier and Type | Method and Description |
---|---|
void |
addUserDataObserver(RongUserInfoManager.UserDataObserver observer) |
<any> |
getAllGroupMembersLiveData() |
<any> |
getAllGroupsLiveData() |
<any> |
getAllUsersLiveData() |
UserInfo |
getCurrentUserInfo() |
io.rong.imlib.model.Group |
getGroupInfo(java.lang.String groupId) |
GroupUserInfo |
getGroupUserInfo(java.lang.String groupId,
java.lang.String userId) |
static RongUserInfoManager |
getInstance() |
UserDatabase |
getUserDatabase() |
UserInfo |
getUserInfo(java.lang.String userId) |
boolean |
getUserInfoAttachedState()
获取当前用户关于消息体内是否携带用户信息的配置
|
<any> |
getUserInfoLiveData(java.lang.String userId) |
void |
initAndUpdateUserDataBase(android.content.Context context)
初始化并打开用户信息数据库
|
void |
refreshGroupInfoCache(io.rong.imlib.model.Group groupInfo) |
void |
refreshGroupUserInfoCache(GroupUserInfo groupUserInfo) |
void |
refreshUserInfoCache(UserInfo userInfo) |
void |
removeUserDataObserver(RongUserInfoManager.UserDataObserver observer) |
void |
setCurrentUserInfo(UserInfo userInfo)
设置当前用户信息。
如果开发者没有实现用户信息提供者,而是使用消息携带用户信息,需要使用这个方法设置当前用户的信息,
然后在
IMCenter.init(Application, String, boolean) 之后调用setMessageAttachedUserInfo(boolean) ,
这样可以在每条消息中携带当前用户的信息,IMKit会在接收到消息的时候取出用户信息并刷新到界面上。 |
void |
setGroupInfoProvider(UserDataProvider.GroupInfoProvider groupInfoProvider,
boolean isCacheGroupInfo) |
void |
setGroupUserInfoProvider(UserDataProvider.GroupUserInfoProvider groupUserInfoProvider,
boolean isCacheGroupUserInfo)
设置群成员提供者
|
void |
setMessageAttachedUserInfo(boolean state)
设置消息体内是否携带用户信息。
|
void |
setUserInfoProvider(UserDataProvider.UserInfoProvider userInfoProvider,
boolean isCacheUserInfo)
设置用户信息的提供者,供 UI 获取用户名称和头像信息。
各 ViewModel 会监听用户信息的变化,进行对应刷新。
如果需要异步从服务器获取用户信息,使用者可以在此方法中发起异步请求,然后返回 null 信息。
在异步请求结果返回后,根据返回的结果调用
refreshUserInfoCache(UserInfo) } 刷新用户信息。 |
public static RongUserInfoManager getInstance()
public void initAndUpdateUserDataBase(android.content.Context context)
context
- public void setUserInfoProvider(UserDataProvider.UserInfoProvider userInfoProvider, boolean isCacheUserInfo)
设置用户信息的提供者,供 UI 获取用户名称和头像信息。
各 ViewModel 会监听用户信息的变化,进行对应刷新。
如果需要异步从服务器获取用户信息,使用者可以在此方法中发起异步请求,然后返回 null 信息。
在异步请求结果返回后,根据返回的结果调用 refreshUserInfoCache(UserInfo)
} 刷新用户信息。
userInfoProvider
- 用户信息提供者 UserDataProvider.UserInfoProvider
。isCacheUserInfo
- 设置是否由 IMKit 来缓存用户信息。public void setGroupInfoProvider(UserDataProvider.GroupInfoProvider groupInfoProvider, boolean isCacheGroupInfo)
public void setGroupUserInfoProvider(UserDataProvider.GroupUserInfoProvider groupUserInfoProvider, boolean isCacheGroupUserInfo)
设置群成员提供者
可以使用此方法,修改群组中用户昵称
设置后,当 sdk 界面展示用户信息时,会回调 UserDataProvider.GroupUserInfoProvider.getGroupUserInfo(String, String)
使用者只需要根据对应的 groupId, userId 提供对应的用户信息 GroupUserInfo
。
如果需要异步从服务器获取用户信息,使用者可以在此方法中发起异步请求,然后返回 null 信息。
在异步请求结果返回后,根据返回的结果调用 refreshGroupUserInfoCache(GroupUserInfo)
刷新信息。
groupUserInfoProvider
- 群组用户信息提供者。isCacheGroupUserInfo
- 设置是否由 IMKit 来缓存 GroupUserInfo。public UserDatabase getUserDatabase()
public <any> getAllUsersLiveData()
public <any> getAllGroupsLiveData()
public <any> getAllGroupMembersLiveData()
public UserInfo getUserInfo(java.lang.String userId)
public <any> getUserInfoLiveData(java.lang.String userId)
public io.rong.imlib.model.Group getGroupInfo(java.lang.String groupId)
public GroupUserInfo getGroupUserInfo(java.lang.String groupId, java.lang.String userId)
public void setCurrentUserInfo(UserInfo userInfo)
IMCenter.init(Application, String, boolean)
之后调用setMessageAttachedUserInfo(boolean)
,
这样可以在每条消息中携带当前用户的信息,IMKit会在接收到消息的时候取出用户信息并刷新到界面上。userInfo
- 当前用户信息。public UserInfo getCurrentUserInfo()
public void setMessageAttachedUserInfo(boolean state)
state
- 是否携带用户信息,true 携带,false 不携带。public boolean getUserInfoAttachedState()
public void refreshUserInfoCache(UserInfo userInfo)
public void refreshGroupInfoCache(io.rong.imlib.model.Group groupInfo)
public void refreshGroupUserInfoCache(GroupUserInfo groupUserInfo)
public void addUserDataObserver(RongUserInfoManager.UserDataObserver observer)
public void removeUserDataObserver(RongUserInfoManager.UserDataObserver observer)