hyphenate_SDK4.0 4.2.3-lite
hyphenate java IM SDK
Public 成员函数 | 所有成员列表
com.hyphenate.chat.EMChatRoomManager类 参考

Public 成员函数

void addChatRoomChangeListener (EMChatRoomChangeListener listener)
 
void removeChatRoomListener (EMChatRoomChangeListener listener)
 
void joinChatRoom (final String roomId, final EMValueCallBack< EMChatRoom > callback)
 
void joinChatRoom (final String roomId, boolean leaveOtherRooms, String ext, final EMValueCallBack< EMChatRoom > callback)
 
void leaveChatRoom (final String roomId)
 
void leaveChatRoom (final String roomId, EMCallBack callback)
 
EMPageResult< EMChatRoomfetchPublicChatRoomsFromServer (int pageNum, int pageSize) throws HyphenateException
 
void asyncFetchPublicChatRoomsFromServer (final int pageNum, final int pageSize, final EMValueCallBack< EMPageResult< EMChatRoom > > callback)
 
EMChatRoom fetchChatRoomFromServer (String roomId) throws HyphenateException
 
EMChatRoom fetchChatRoomFromServer (String roomId, boolean fetchMembers) throws HyphenateException
 
void asyncFetchChatRoomFromServer (final String roomId, final EMValueCallBack< EMChatRoom > callback)
 
EMChatRoom getChatRoom (String roomId)
 
EMCursorResult< String > fetchChatRoomMembers (String chatRoomId, String cursor, int pageSize) throws HyphenateException
 
void asyncFetchChatRoomMembers (final String chatRoomId, final String cursor, final int pageSize, final EMValueCallBack< EMCursorResult< String > > callBack)
 
String fetchChatRoomAnnouncement (String chatRoomId) throws HyphenateException
 
void asyncFetchChatRoomAnnouncement (final String chatRoomId, final EMValueCallBack< String > callBack)
 

详细描述

聊天室管理类,负责聊天室加入和退出、聊天室列表获取以及成员权限管理等。 比如,加入聊天室:

EMClient.getInstance().chatroomManager().joinChatRoom(conversationId, new EMValueCallBack<EMChatRoom>() {
public void onSuccess(EMChatRoom value) {
//成功加入聊天室后的处理逻辑。
}
public void onError(int error, String errorMsg) {
//加入聊天室失败后的处理逻辑。
}
});

成员函数说明

◆ addChatRoomChangeListener()

void com.hyphenate.chat.EMChatRoomManager.addChatRoomChangeListener ( EMChatRoomChangeListener  listener)

注册聊天室事件监听对象。

注解
聊天室被销毁、成员的加入和退出、禁言和加入白名单等操作均可通过设置 EMChatRoomChangeListener 进行监听。

利用本方法注册聊天室事件监听对象后,可调用 removeChatRoomListener(EMChatRoomChangeListener) 将其移除。

参数
listener聊天室事件监听对象,详见 EMChatRoomChangeListener

◆ asyncFetchChatRoomAnnouncement()

void com.hyphenate.chat.EMChatRoomManager.asyncFetchChatRoomAnnouncement ( final String  chatRoomId,
final EMValueCallBack< String >  callBack 
)

从服务器获取聊天室公告内容。

同步方法见 fetchChatRoomAnnouncement(String)

异步方法。

参数
chatRoomId聊天室 ID。
callBack结果回调,成功时回调 EMValueCallBack#onSuccess(Object),返回聊天室公告; 失败时回调 EMValueCallBack#onError(int, String)

◆ asyncFetchChatRoomFromServer()

void com.hyphenate.chat.EMChatRoomManager.asyncFetchChatRoomFromServer ( final String  roomId,
final EMValueCallBack< EMChatRoom callback 
)

从服务器获取聊天室详情。

注解
该方法不获取聊天室成员列表。

异步方法。

同步方法见 fetchChatRoomFromServer(String)

参数
roomId聊天室 ID。
callback结果回调,成功时回调 EMValueCallBack#onSuccess(Object), 失败时回调 EMValueCallBack#onError(int, String)

◆ asyncFetchChatRoomMembers()

void com.hyphenate.chat.EMChatRoomManager.asyncFetchChatRoomMembers ( final String  chatRoomId,
final String  cursor,
final int  pageSize,
final EMValueCallBack< EMCursorResult< String > >  callBack 
)

获取聊天室成员列表。

注解
返回的结果中,当 EMCursorResult#getCursor() 为空字符串 ("") 时,表示没有更多数据。

异步方法。

参数
chatRoomId聊天室 ID。
cursor从该游标位置开始取数据。首次调用 cursor 传空值,从最新数据开始获取。
pageSize每页期望获取的成员数。取值范围为 [1,50]。
callBack结果回调,成功时回调 EMValueCallBack#onSuccess(Object), 失败时回调 EMValueCallBack#onError(int, String)

◆ asyncFetchPublicChatRoomsFromServer()

void com.hyphenate.chat.EMChatRoomManager.asyncFetchPublicChatRoomsFromServer ( final int  pageNum,
final int  pageSize,
final EMValueCallBack< EMPageResult< EMChatRoom > >  callback 
)

以分页的方式从服务器获取聊天室。

异步方法。

参数
pageNum当前页数,从 1 开始。
pageSize每页返回的记录数。取值范围为 [1,50]。
callback结果回调,成功时回调 EMValueCallBack#onSuccess(Object), 失败时回调 EMValueCallBack#onError(int, String)

◆ fetchChatRoomAnnouncement()

String com.hyphenate.chat.EMChatRoomManager.fetchChatRoomAnnouncement ( String  chatRoomId) throws HyphenateException

从服务器获取聊天室公告内容。

异步方法见 asyncFetchChatRoomAnnouncement(String, EMValueCallBack)

同步方法,会阻塞当前线程。

参数
chatRoomId聊天室 ID。
返回
聊天室公告。
异常
HyphenateException如果有异常会在这里抛出,包含错误码和错误描述,详见 EMError

◆ fetchChatRoomFromServer() [1/2]

EMChatRoom com.hyphenate.chat.EMChatRoomManager.fetchChatRoomFromServer ( String  roomId) throws HyphenateException

从服务器获取聊天室详情。

注解
该方法不获取取成员列表。

同步方法,会阻塞当前线程。

异步方法见 asyncFetchChatRoomFromServer(String, EMValueCallBack)

参数
roomId聊天室 ID。
返回
EMChatRoom 返回聊天室对象。
异常
HyphenateException如果有异常会在这里抛出,包含错误码和错误描述,错误码详见 EMError

◆ fetchChatRoomFromServer() [2/2]

EMChatRoom com.hyphenate.chat.EMChatRoomManager.fetchChatRoomFromServer ( String  roomId,
boolean  fetchMembers 
) throws HyphenateException

从服务器获取聊天室详情。

注解
如果需要取成员列表,默认最多取 200 个成员,超出部分,请调用 EMChatRoomManager#fetchChatRoomMembers(String, String, int)

同步方法,会阻塞当前线程。

参数
roomId聊天室 ID。
fetchMembers是否需要获取聊天室成员。
返回
EMChatRoom 返回的聊天室对象。
异常
HyphenateException如果有异常会在这里抛出,包含错误码和错误描述,详见 EMError

◆ fetchChatRoomMembers()

EMCursorResult< String > com.hyphenate.chat.EMChatRoomManager.fetchChatRoomMembers ( String  chatRoomId,
String  cursor,
int  pageSize 
) throws HyphenateException

获取聊天室成员列表。

注解
返回的结果中,当 EMCursorResult#getCursor() 为空字符串 ("") 时,表示没有更多数据。

异步方法见 asyncFetchChatRoomMembers(String, String, int, EMValueCallBack)

同步方法,会阻塞当前线程。

参数
chatRoomId聊天室 ID。
cursor从该游标位置开始取数据。首次调用 cursor 传空值,从最新数据开始获取。
pageSize每页期望获取的成员数。取值范围为 [1,50]。
返回
聊天室成员列表和用于下次获取的 cursor。详见 EMCursorResult
异常
HyphenateException如果有异常会在这里抛出,包含错误码和错误描述,详见 EMError

◆ fetchPublicChatRoomsFromServer()

EMPageResult< EMChatRoom > com.hyphenate.chat.EMChatRoomManager.fetchPublicChatRoomsFromServer ( int  pageNum,
int  pageSize 
) throws HyphenateException

以分页的方式从服务器获取聊天室数据。

同步方法,会阻塞当前线程。

也可使用异步方法 asyncFetchPublicChatRoomsFromServer(int, int, EMValueCallBack)

参数
pageNum当前页码,从 1 开始。
pageSize每页期望返回的记录数。取值范围为 [1,50]。
返回
分页获取结果 EMPageResult
异常
HyphenateException如果有异常会在这里抛出,包含错误码和错误描述,详见 EMError

◆ getChatRoom()

EMChatRoom com.hyphenate.chat.EMChatRoomManager.getChatRoom ( String  roomId)

从内存中获取聊天室。

参数
roomId聊天室 ID。
返回
返回聊天室对象。如果内存中不存在聊天室对象,返回 null。

◆ joinChatRoom() [1/2]

void com.hyphenate.chat.EMChatRoomManager.joinChatRoom ( final String  roomId,
boolean  leaveOtherRooms,
String  ext,
final EMValueCallBack< EMChatRoom callback 
)

加入聊天室。

注解
退出聊天室调用 leaveChatRoom(String, EMCallBack)

异步方法。

参数
roomId聊天室 ID。
leaveOtherRooms是否退出其他的聊天室。
ext扩展信息。
callback聊天室加入结果回调。加入成功,回调 EMValueCallBack#onSuccess(Object) 并返回聊天室对象。 加入失败,回调 EMValueCallBack#onError(int, String),其中第一个参数为错误参数,第二个参数为错误信息。

◆ joinChatRoom() [2/2]

void com.hyphenate.chat.EMChatRoomManager.joinChatRoom ( final String  roomId,
final EMValueCallBack< EMChatRoom callback 
)

加入聊天室。

注解
退出聊天室调用 leaveChatRoom(String, EMCallBack)

异步方法。

参数
roomId聊天室 ID。
callback聊天室加入结果回调。加入成功,回调 EMValueCallBack#onSuccess(Object) 并返回聊天室对象。 加入失败,回调 EMValueCallBack#onError(int, String),其中第一个参数为错误参数,第二个参数为错误信息。

◆ leaveChatRoom() [1/2]

void com.hyphenate.chat.EMChatRoomManager.leaveChatRoom ( final String  roomId)

退出聊天室。

注解
利用 joinChatRoom(String, EMValueCallBack) 加入聊天室后,离开时调用此方法。

异步方法。

参数
roomId聊天室 ID。

◆ leaveChatRoom() [2/2]

void com.hyphenate.chat.EMChatRoomManager.leaveChatRoom ( final String  roomId,
EMCallBack  callback 
)

退出聊天室。

利用 joinChatRoom(String, EMValueCallBack) 加入聊天室后,离开时调用此方法。

异步方法。

参数
roomId聊天室 ID。
callback结果回调,成功时回调 EMCallBack#onSuccess(), 失败时回调 EMCallBack#onError(int, String)

◆ removeChatRoomListener()

void com.hyphenate.chat.EMChatRoomManager.removeChatRoomListener ( EMChatRoomChangeListener  listener)

移除聊天室事件监听对象。

注解
利用 addChatRoomChangeListener(EMChatRoomChangeListener) 注册聊天室事件监听对象后,可调用本方法将其移除。
参数
listener要移除的聊天室事件监听对象。

该类的文档由以下文件生成: