agora_chat_SDK 1.0.6
agora java chat SDK
Public 成员函数 | 所有成员列表
io.agora.chat.ChatRoomManager类 参考

Public 成员函数

 ChatRoomManager (ChatClient client, EMAChatRoomManager manager)
 
void addChatRoomChangeListener (ChatRoomChangeListener listener)
 
void removeChatRoomChangeListener (ChatRoomChangeListener listener)
 
void removeChatRoomListener (ChatRoomChangeListener listener)
 
void joinChatRoom (final String roomId, final ValueCallBack< ChatRoom > callback)
 
void leaveChatRoom (final String roomId)
 
PageResult< ChatRoomfetchPublicChatRoomsFromServer (int pageNum, int pageSize) throws ChatException
 
CursorResult< ChatRoomfetchPublicChatRoomsFromServer (int pageSize, String cursor) throws ChatException
 
void asyncFetchPublicChatRoomsFromServer (final int pageSize, final String cursor, final ValueCallBack< CursorResult< ChatRoom > > callback)
 
void asyncFetchPublicChatRoomsFromServer (final int pageNum, final int pageSize, final ValueCallBack< PageResult< ChatRoom > > callback)
 
ChatRoom fetchChatRoomFromServer (String roomId) throws ChatException
 
ChatRoom fetchChatRoomFromServer (String roomId, boolean fetchMembers) throws ChatException
 
void asyncFetchChatRoomFromServer (final String roomId, final ValueCallBack< ChatRoom > callback)
 
ChatRoom getChatRoom (String roomId)
 
List< ChatRoomgetAllChatRooms ()
 
ChatRoom createChatRoom (String subject, String description, String welcomeMessage, int maxUserCount, List< String > members) throws ChatException
 
void asyncCreateChatRoom (final String subject, final String description, final String welcomeMessage, final int maxUserCount, final List< String > members, final ValueCallBack< ChatRoom > callBack)
 
void destroyChatRoom (String chatRoomId) throws ChatException
 
void asyncDestroyChatRoom (final String chatRoomId, final CallBack callBack)
 
ChatRoom changeChatRoomSubject (String chatRoomId, String newSubject) throws ChatException
 
void asyncChangeChatRoomSubject (final String chatRoomId, final String newSubject, final ValueCallBack< ChatRoom > callBack)
 
ChatRoom changeChatroomDescription (String chatRoomId, String newDescription) throws ChatException
 
void asyncChangeChatroomDescription (final String chatRoomId, final String newDescription, final ValueCallBack< ChatRoom > callBack)
 
CursorResult< String > fetchChatRoomMembers (String chatRoomId, String cursor, int pageSize) throws ChatException
 
void asyncFetchChatRoomMembers (final String chatRoomId, final String cursor, final int pageSize, final ValueCallBack< CursorResult< String > > callBack)
 
ChatRoom muteChatRoomMembers (String chatRoomId, List< String > muteMembers, long duration) throws ChatException
 
void asyncMuteChatRoomMembers (final String chatRoomId, final List< String > muteMembers, final long duration, final ValueCallBack< ChatRoom > callBack)
 
ChatRoom unMuteChatRoomMembers (String chatRoomId, List< String > members) throws ChatException
 
void asyncUnMuteChatRoomMembers (final String chatRoomId, final List< String > members, final ValueCallBack< ChatRoom > callBack)
 
ChatRoom changeOwner (String chatRoomId, String newOwner) throws ChatException
 
void asyncChangeOwner (final String chatRoomId, final String newOwner, final ValueCallBack< ChatRoom > callBack) throws ChatException
 
ChatRoom addChatRoomAdmin (String chatRoomId, String admin) throws ChatException
 
void asyncAddChatRoomAdmin (final String chatRoomId, final String admin, final ValueCallBack< ChatRoom > callBack)
 
ChatRoom removeChatRoomAdmin (String chatRoomId, String admin) throws ChatException
 
void asyncRemoveChatRoomAdmin (final String chatRoomId, final String admin, final ValueCallBack< ChatRoom > callBack)
 
Map< String, Long > fetchChatRoomMuteList (String chatRoomId, int pageNum, int pageSize) throws ChatException
 
void asyncFetchChatRoomMuteList (final String chatRoomId, final int pageNum, final int pageSize, final ValueCallBack< Map< String, Long > > callBack)
 
ChatRoom removeChatRoomMembers (String chatRoomId, List< String > members) throws ChatException
 
void asyncRemoveChatRoomMembers (final String chatRoomId, final List< String > members, final ValueCallBack< ChatRoom > callBack)
 
ChatRoom blockChatroomMembers (String chatRoomId, List< String > members) throws ChatException
 
void asyncBlockChatroomMembers (final String chatRoomId, final List< String > members, final ValueCallBack< ChatRoom > callBack)
 
ChatRoom unblockChatRoomMembers (String chatRoomId, List< String > members) throws ChatException
 
void asyncUnBlockChatRoomMembers (final String chatRoomId, final List< String > members, final ValueCallBack< ChatRoom > callBack)
 
List< String > fetchChatRoomBlackList (String chatRoomId, int pageNum, int pageSize) throws ChatException
 
void asyncFetchChatRoomBlackList (final String chatRoomId, final int pageNum, final int pageSize, final ValueCallBack< List< String > > callBack)
 
void addToChatRoomWhiteList (final String chatRoomId, final List< String > members, final ValueCallBack< ChatRoom > callBack)
 
void removeFromChatRoomWhiteList (final String chatRoomId, final List< String > members, final ValueCallBack< ChatRoom > callBack)
 
void checkIfInChatRoomWhiteList (final String chatRoomId, ValueCallBack< Boolean > callBack)
 
void fetchChatRoomWhiteList (final String chatRoomId, final ValueCallBack< List< String > > callBack)
 
void muteAllMembers (final String chatRoomId, final ValueCallBack< ChatRoom > callBack)
 
void unmuteAllMembers (final String chatRoomId, final ValueCallBack< ChatRoom > callBack)
 
void updateChatRoomAnnouncement (String chatRoomId, String announcement) throws ChatException
 
void asyncUpdateChatRoomAnnouncement (final String chatRoomId, final String announcement, final CallBack callBack)
 
String fetchChatRoomAnnouncement (String chatRoomId) throws ChatException
 
void asyncFetchChatRoomAnnouncement (final String chatRoomId, final ValueCallBack< String > callBack)
 

详细描述

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

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

成员函数说明

◆ addChatRoomAdmin()

ChatRoom io.agora.chat.ChatRoomManager.addChatRoomAdmin ( String  chatRoomId,
String  admin 
) throws ChatException

添加聊天室管理员。 仅聊天室所有者可调用此方法。 异步方法见 asyncAddChatRoomAdmin(String, String, ValueCallBack)

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

参数
chatRoomId聊天室 ID。
admin要设置的管理员 ID。
返回
返回修改后的聊天室对象。
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error

◆ addChatRoomChangeListener()

void io.agora.chat.ChatRoomManager.addChatRoomChangeListener ( ChatRoomChangeListener  listener)

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

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

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

◆ addToChatRoomWhiteList()

void io.agora.chat.ChatRoomManager.addToChatRoomWhiteList ( final String  chatRoomId,
final List< String >  members,
final ValueCallBack< ChatRoom callBack 
)

将成员添加到白名单。 仅聊天室所有者或管理员可调用此方法。 聊天室拥有者或者管理员执行 muteAllMembers(String, ValueCallBack) 时,加入白名单的成员不受影响。

异步方法。

参数
chatRoomId聊天室 ID。
members加入白名单的成员列表。
callBack结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)

◆ asyncAddChatRoomAdmin()

void io.agora.chat.ChatRoomManager.asyncAddChatRoomAdmin ( final String  chatRoomId,
final String  admin,
final ValueCallBack< ChatRoom callBack 
)

添加聊天室管理员。 仅聊天室所有者可调用此方法。 同步方法见 addChatRoomAdmin(String, String)

异步方法。

参数
chatRoomId聊天室 ID。
admin要设置的管理员 ID。
callBack结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)

◆ asyncBlockChatroomMembers()

void io.agora.chat.ChatRoomManager.asyncBlockChatroomMembers ( final String  chatRoomId,
final List< String >  members,
final ValueCallBack< ChatRoom callBack 
)

将成员添加到聊天室黑名单。 仅聊天室所有者和管理员可调用此方法。 对于加入聊天室黑名单的成员,请注意以下几点:

异步方法。

参数
chatRoomId聊天室 ID。
members要加入黑名单的成员列表。
callBack结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)

◆ asyncChangeChatroomDescription()

void io.agora.chat.ChatRoomManager.asyncChangeChatroomDescription ( final String  chatRoomId,
final String  newDescription,
final ValueCallBack< ChatRoom callBack 
)

修改聊天室描述信息。 仅聊天室所有者可调用此方法。 同步方法见 changeChatroomDescription(String, String)

异步方法。

参数
chatRoomId聊天室 ID。
newDescription新的聊天室描述。
callBack结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)

◆ asyncChangeChatRoomSubject()

void io.agora.chat.ChatRoomManager.asyncChangeChatRoomSubject ( final String  chatRoomId,
final String  newSubject,
final ValueCallBack< ChatRoom callBack 
)

修改聊天室标题。 仅聊天室所有者可调用此方法。 同步方法见 changeChatRoomSubject(String, String)

异步方法。

参数
chatRoomId聊天室 ID。
newSubject新的聊天室名称。
callBack结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)

◆ asyncChangeOwner()

void io.agora.chat.ChatRoomManager.asyncChangeOwner ( final String  chatRoomId,
final String  newOwner,
final ValueCallBack< ChatRoom callBack 
) throws ChatException

转移聊天室的所有权。 仅聊天室所有者可调用此方法。 同步方法见 changeOwner(String, String)

异步方法。

参数
chatRoomId聊天室 ID。
newOwner新的聊天室所有者 ID。
callBack结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)

◆ asyncCreateChatRoom()

void io.agora.chat.ChatRoomManager.asyncCreateChatRoom ( final String  subject,
final String  description,
final String  welcomeMessage,
final int  maxUserCount,
final List< String >  members,
final ValueCallBack< ChatRoom callBack 
)

创建聊天室。 同步方法见 createChatRoom(String, String, String, int, List)

异步方法。

参数
subject聊天室名称。
description聊天室描述。
welcomeMessage邀请成员加入聊天室的消息。
maxUserCount允许加入聊天室的最大成员数。
members邀请加入聊天室的成员列表。
callBack结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)

◆ asyncDestroyChatRoom()

void io.agora.chat.ChatRoomManager.asyncDestroyChatRoom ( final String  chatRoomId,
final CallBack  callBack 
)

销毁聊天室。 仅聊天室所有者可调用此方法。 同步方法见 destroyChatRoom(String)

异步方法。

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

◆ asyncFetchChatRoomAnnouncement()

void io.agora.chat.ChatRoomManager.asyncFetchChatRoomAnnouncement ( final String  chatRoomId,
final ValueCallBack< String >  callBack 
)

从服务器获取聊天室公告内容。 同步方法见 fetchChatRoomAnnouncement(String)

异步方法。

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

◆ asyncFetchChatRoomBlackList()

void io.agora.chat.ChatRoomManager.asyncFetchChatRoomBlackList ( final String  chatRoomId,
final int  pageNum,
final int  pageSize,
final ValueCallBack< List< String > >  callBack 
)

以分页的形式获取聊天室黑名单列表。 仅聊天室所有者或管理员可调用此方法。 同步方法见 fetchChatRoomBlackList(String, int, int)

异步方法。

参数
chatRoomId聊天室 ID。
pageNum当前页码,从 1 开始。
pageSize每页返回的黑名单上的用户数。
callBack结果回调,成功时回调 ValueCallBack#onSuccess(Object),返回聊天室黑名单列表; 失败时回调 ValueCallBack#onError(int, String)。 需注意以下两点:
  • pageSize 是这次调用期望返回的记录数,如当前在最后一页,返回的数量小于等于 pageSize 的值;
  • pageNum 是当前页码,方便服务器分页查询返回。对于数据量未知且很大的情况,分页获取,服务器会根据每次的 pageSize 和 pageNum 的设置返回数据。

◆ asyncFetchChatRoomFromServer()

void io.agora.chat.ChatRoomManager.asyncFetchChatRoomFromServer ( final String  roomId,
final ValueCallBack< ChatRoom callback 
)

从服务器获取聊天室详情,默认不取成员列表。 同步方法见 fetchChatRoomFromServer(String)

异步方法。

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

◆ asyncFetchChatRoomMembers()

void io.agora.chat.ChatRoomManager.asyncFetchChatRoomMembers ( final String  chatRoomId,
final String  cursor,
final int  pageSize,
final ValueCallBack< CursorResult< String > >  callBack 
)

获取聊天室成员列表。 返回的结果中,当 CursorResult.getCursor() 为空字符串 ("") 时,表示没有更多数据。

异步方法。

参数
chatRoomId聊天室 ID。
cursor从这个游标位置开始取数据。
pageSize每页返回的成员数。
callBack结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)。 需注意以下几点:
  • 每次调用只返回一页的数据。首次调用 cursor 传空值,从最新数据开始获取;然后根据服务器返回的数据,其中一个字段是 cursor,保存在本地,下次调用接口时,会把更新的 cursor 传入作为获取数据的标志位置。
  • pageSize 是这次接口调用期望返回的记录数,如当前在最后一页,返回的数据量小于等于 pageSize 的值;
  • 对于数据量未知且很大的情况,分页获取,服务器会根据每次的 pageSize 和 cursor 设置返回数据。

◆ asyncFetchChatRoomMuteList()

void io.agora.chat.ChatRoomManager.asyncFetchChatRoomMuteList ( final String  chatRoomId,
final int  pageNum,
final int  pageSize,
final ValueCallBack< Map< String, Long > >  callBack 
)

获取聊天室禁言列表。 仅聊天室所有者和管理员可调用此方法。 同步方法见 fetchChatRoomMuteList(String, int, int)

异步方法。

参数
chatRoomId聊天室 ID。
pageNum当前页码,从 1 开始。
pageSize每页返回的禁言成员数。
callBack结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)。 需注意以下两点:
  • pageSize 是这次调用期望返回的记录数,如当前在最后一页,返回的数量小于等于 pageSize 的值;
  • pageNum 是当前页码,方便服务器分页查询返回。 对于数据量未知且很大的情况,分页获取,服务器会根据每次的 pageSize 和 pageNum 的设置返回数据。

◆ asyncFetchPublicChatRoomsFromServer() [1/2]

void io.agora.chat.ChatRoomManager.asyncFetchPublicChatRoomsFromServer ( final int  pageNum,
final int  pageSize,
final ValueCallBack< PageResult< ChatRoom > >  callback 
)

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

异步方法。

参数
pageNum当前页数,从 1 开始。
pageSize每页返回的记录数。
callback结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)。 需注意以下两点:
  • pageSize 是这次调用期望返回的记录数,如当前在最后一页,返回的数量小于等于 pageSize 的值;
  • pageNum 是当前页码,方便服务器分页查询返回。 对于数据量未知且很大的情况,分页获取,服务器会根据每次的 pageSize 和 pageNum 的设置返回数据。

◆ asyncFetchPublicChatRoomsFromServer() [2/2]

void io.agora.chat.ChatRoomManager.asyncFetchPublicChatRoomsFromServer ( final int  pageSize,
final String  cursor,
final ValueCallBack< CursorResult< ChatRoom > >  callback 
)

以分页的方式从服务器获取聊天室。 返回的结果中,当 CursorResult.getCursor() 为空字符串 ("") 时,表示没有更多数据。

异步方法。

参数
pageSize每页返回的记录数。
cursor从游标位置开始取数据。
callback结果回调,成功回调 ValueCallBack#onSuccess(Object), 失败回调 ValueCallBack#onError(int, String)
弃用:
使用 asyncFetchPublicChatRoomsFromServer(int, int, ValueCallBack) 代替。

◆ asyncMuteChatRoomMembers()

void io.agora.chat.ChatRoomManager.asyncMuteChatRoomMembers ( final String  chatRoomId,
final List< String >  muteMembers,
final long  duration,
final ValueCallBack< ChatRoom callBack 
)

禁止聊天室成员发言。 仅聊天室所有者和管理员可调用此方法。 同步方法见 muteChatRoomMembers(String, List, long)

异步方法。

参数
chatRoomId聊天室 ID。
muteMembers禁言的用户列表。
duration禁言时长,单位是毫秒。
callBack结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)

◆ asyncRemoveChatRoomAdmin()

void io.agora.chat.ChatRoomManager.asyncRemoveChatRoomAdmin ( final String  chatRoomId,
final String  admin,
final ValueCallBack< ChatRoom callBack 
)

移除聊天室管理员权限。 仅聊天室所有者可调用此方法。 同步方法见 removeChatRoomAdmin(String, String)}。

异步方法。

参数
chatRoomId聊天室 ID。
admin要移除管理员权限的 ID。
callBack结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)

◆ asyncRemoveChatRoomMembers()

void io.agora.chat.ChatRoomManager.asyncRemoveChatRoomMembers ( final String  chatRoomId,
final List< String >  members,
final ValueCallBack< ChatRoom callBack 
)

将成员移出聊天室。 仅聊天室所有者和管理员可调用此方法。 同步方法见 removeChatRoomMembers(String, List)

异步方法。

参数
chatRoomId聊天室 ID
members要移出的用户列表。
callBack结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)

◆ asyncUnBlockChatRoomMembers()

void io.agora.chat.ChatRoomManager.asyncUnBlockChatRoomMembers ( final String  chatRoomId,
final List< String >  members,
final ValueCallBack< ChatRoom callBack 
)

从聊天室黑名单中移除成员。 仅聊天室所有者或管理员可调用此方法。 同步方法见 unblockChatRoomMembers(String, List)

异步方法。

参数
chatRoomId聊天室 ID。
members要移除黑名单的成员列表。
callBack结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)

◆ asyncUnMuteChatRoomMembers()

void io.agora.chat.ChatRoomManager.asyncUnMuteChatRoomMembers ( final String  chatRoomId,
final List< String >  members,
final ValueCallBack< ChatRoom callBack 
)

解除禁言。 仅聊天室所有者和管理员可调用此方法。 同步方法见 unMuteChatRoomMembers(String, List)

异步方法。

参数
chatRoomId聊天室 ID。
members解除禁言的用户列表。
callBack结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)

◆ asyncUpdateChatRoomAnnouncement()

void io.agora.chat.ChatRoomManager.asyncUpdateChatRoomAnnouncement ( final String  chatRoomId,
final String  announcement,
final CallBack  callBack 
)

更新聊天室公告。 仅聊天室所有者和管理员可调用此方法。 同步方法见 updateChatRoomAnnouncement(String, String)

异步方法。

参数
chatRoomId聊天室 ID。
announcement公告内容。
callBack结果回调,成功时回调 CallBack#onSuccess(), 失败时回调 CallBack#onError(int, String)

◆ blockChatroomMembers()

ChatRoom io.agora.chat.ChatRoomManager.blockChatroomMembers ( String  chatRoomId,
List< String >  members 
) throws ChatException

将成员添加到聊天室黑名单。 仅聊天室所有者和管理员可调用此方法。 对于添加到聊天室黑名单的成员,请注意以下几点:

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

参数
chatRoomId聊天室 ID。
members要加入黑名单的成员列表。
返回
返回修改后的聊天室对象。
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error

◆ changeChatroomDescription()

ChatRoom io.agora.chat.ChatRoomManager.changeChatroomDescription ( String  chatRoomId,
String  newDescription 
) throws ChatException

修改聊天室描述信息。 仅聊天室所有者可调用此方法。 异步方法见 asyncChangeChatroomDescription(String, String, ValueCallBack)

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

参数
chatRoomId聊天室 ID。
newDescription新的聊天室描述。
返回
修改后的聊天室对象。
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述,详见io.agora.Error

◆ changeChatRoomSubject()

ChatRoom io.agora.chat.ChatRoomManager.changeChatRoomSubject ( String  chatRoomId,
String  newSubject 
) throws ChatException

修改聊天室标题。 仅聊天室所有者可调用此方法。 异步方法见 asyncChangeChatRoomSubject(String, String, ValueCallBack)

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

参数
chatRoomId聊天室 ID。
newSubject新的聊天室名称。
返回
返回修改后的聊天室对象。
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error

◆ changeOwner()

ChatRoom io.agora.chat.ChatRoomManager.changeOwner ( String  chatRoomId,
String  newOwner 
) throws ChatException

转移聊天室的所有权。 仅聊天室所有者可调用此方法。 异步方法见 asyncChangeOwner(String, String, ValueCallBack)

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

参数
chatRoomId聊天室 ID。
newOwner新的聊天室拥有者 ID。
返回
返回修改后的聊天室对象。
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error

◆ checkIfInChatRoomWhiteList()

void io.agora.chat.ChatRoomManager.checkIfInChatRoomWhiteList ( final String  chatRoomId,
ValueCallBack< Boolean >  callBack 
)

检查成员自己是否加入了白名单。

异步方法。

参数
chatRoomId聊天室 ID。
callBack结果回调,成功时回调 ValueCallBack#onSuccess(Object),返回是否在白名单中; 失败时回调 ValueCallBack#onError(int, String)

◆ createChatRoom()

ChatRoom io.agora.chat.ChatRoomManager.createChatRoom ( String  subject,
String  description,
String  welcomeMessage,
int  maxUserCount,
List< String >  members 
) throws ChatException

创建聊天室。 异步方法见 asyncCreateChatRoom(String, String, String, int, List, ValueCallBack)

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

参数
subject聊天室名称。
description聊天室描述。
welcomeMessage邀请成员加入聊天室的消息。
maxUserCount允许加入聊天室的最大成员数。
members邀请加入聊天室的成员列表。
返回
ChatRoom 创建成功的聊天室对象。
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error

◆ destroyChatRoom()

void io.agora.chat.ChatRoomManager.destroyChatRoom ( String  chatRoomId) throws ChatException

销毁聊天室。 仅聊天室所有者可调用此方法。 异步方法见 asyncDestroyChatRoom(String, CallBack)

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

参数
chatRoomId聊天室 ID。
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error

◆ fetchChatRoomAnnouncement()

String io.agora.chat.ChatRoomManager.fetchChatRoomAnnouncement ( String  chatRoomId) throws ChatException

从服务器获取聊天室公告内容。 异步方法见 asyncFetchChatRoomAnnouncement(String, ValueCallBack)

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

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

◆ fetchChatRoomBlackList()

List< String > io.agora.chat.ChatRoomManager.fetchChatRoomBlackList ( String  chatRoomId,
int  pageNum,
int  pageSize 
) throws ChatException

以分页的形式获取聊天室黑名单列表。 仅聊天室所有者或管理员可调用此方法。 异步方法见 asyncFetchChatRoomBlackList(String, int, int, ValueCallBack)

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

需注意以下两点:

  • pageSize 是这次调用期望返回的记录数,如当前在最后一页,返回的数量小于等于 pageSize 的值;
  • pageNum 是当前页码,方便服务器分页查询返回。 对于数据量未知且很大的情况,分页获取,服务器会根据每次的 pageSize 和 pageNum 的设置返回数据。
参数
chatRoomId聊天室 ID。
pageNum当前页码,从 1 开始。
pageSize每页返回的黑名单中的用户数。
返回
返回聊天室黑名单列表。
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述详见 io.agora.Error

◆ fetchChatRoomFromServer() [1/2]

ChatRoom io.agora.chat.ChatRoomManager.fetchChatRoomFromServer ( String  roomId) throws ChatException

从服务器获取聊天室详情,默认不取成员列表。 异步方法见 asyncFetchChatRoomFromServer(String, ValueCallBack)

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

参数
roomId聊天室 ID。
返回
ChatRoom 返回聊天室对象。
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述,错误码详见 io.agora.Error

◆ fetchChatRoomFromServer() [2/2]

ChatRoom io.agora.chat.ChatRoomManager.fetchChatRoomFromServer ( String  roomId,
boolean  fetchMembers 
) throws ChatException

从服务器获取聊天室详情。 如果需要取成员列表,默认最多取 200 个成员,超出部分,请调用 ChatRoomManager#fetchChatRoomMembers(String, String, int)

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

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

◆ fetchChatRoomMembers()

CursorResult< String > io.agora.chat.ChatRoomManager.fetchChatRoomMembers ( String  chatRoomId,
String  cursor,
int  pageSize 
) throws ChatException

获取聊天室成员列表。 返回的结果中,当 CursorResult.getCursor() 为空字符串 ("") 时,表示没有更多数据。 异步方法见 asyncFetchChatRoomMembers(String, String, int, ValueCallBack)

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

参数
chatRoomId聊天室 ID。
cursor从这个游标位置开始取数据。
pageSize每页返回的成员数。
返回
分页获取结果 CursorResult
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error。 请注意以下几点:
  • 每次调用只返回一页的数据。首次调用 cursor 传空值,从最新数据开始获取; 然后根据服务器返回的数据,其中一个字段是 cursor,保存在本地,下次调用接口时,会把更新的 cursor 传入作为获取数据的标志位置。
  • pageSize 是这次接口调用期望返回的数据条目数,如当前在最后一页,返回的数据量小于等于 pageSize 的值;
  • 对于数据量未知且很大的情况,分页获取,服务器会根据每次的 pageSiz 和 cursor 设置返回数据。

◆ fetchChatRoomMuteList()

Map< String, Long > io.agora.chat.ChatRoomManager.fetchChatRoomMuteList ( String  chatRoomId,
int  pageNum,
int  pageSize 
) throws ChatException

获取聊天室禁言列表。 仅聊天室所有者和管理员可调用此方法。 异步方法见 asyncFetchChatRoomMuteList(String, int, int, ValueCallBack)

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

参数
chatRoomId聊天室 ID。
pageNum当前页码,从 1 开始。
pageSize每页返回的禁言成员数。
返回
返回的包含禁言成员 ID 及其禁言时长的 Map,其中每一项的 key 是禁言的成员 ID,value 是禁言时长,单位是毫秒。
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error

需注意以下两点:

  • pageSize 是这次调用期望返回的记录数,如当前在最后一页,返回的数量小于等于 pageSize 的值;
  • pageNum 是当前页码,方便服务器分页查询返回。 对于数据量未知且很大的情况,分页获取,服务器会根据每次的 pageSize 和 pageNum 的设置返回数据。

◆ fetchChatRoomWhiteList()

void io.agora.chat.ChatRoomManager.fetchChatRoomWhiteList ( final String  chatRoomId,
final ValueCallBack< List< String > >  callBack 
)

从服务器获取白名单列表。 仅聊天室所有者和管理员可调用此方法。

异步方法。

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

◆ fetchPublicChatRoomsFromServer() [1/2]

PageResult< ChatRoom > io.agora.chat.ChatRoomManager.fetchPublicChatRoomsFromServer ( int  pageNum,
int  pageSize 
) throws ChatException

以分页的方式从服务器获取聊天室数据。 此方法为同步方法,也可使用异步方法 asyncFetchPublicChatRoomsFromServer(int, int, ValueCallBack)

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

参数
pageNum当前页码,从 1 开始。
pageSize每页返回的记录数。
返回
分页获取结果 PageResult
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error

需注意以下两点:

  • pageSize 是这次调用期望返回的记录数,如当前在最后一页,返回的数量小于等于 pageSize 的值;
  • pageNum 是当前页码,方便服务器分页查询返回。 对于数据量未知且很大的情况,分页获取,服务器会根据每次的 pageSize 和 pageNum 的设置返回数据。

◆ fetchPublicChatRoomsFromServer() [2/2]

CursorResult< ChatRoom > io.agora.chat.ChatRoomManager.fetchPublicChatRoomsFromServer ( int  pageSize,
String  cursor 
) throws ChatException

以分页的方式从服务器获取聊天室数据。 返回的结果中,当 CursorResult.getCursor() 为空字符串 ("") 时,表示数据获取完毕。 此方法为耗时操作,可以调用异步方法 asyncFetchPublicChatRoomsFromServer(int, String, ValueCallBack)

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

参数
pageSize每页返回的记录数。
cursor从游标位置开始取数据。
返回
分页获取结果 CursorResult
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error
弃用:
已废弃,请用 fetchPublicChatRoomsFromServer(int, int) 代替。

◆ getAllChatRooms()

List< ChatRoom > io.agora.chat.ChatRoomManager.getAllChatRooms ( )

获取当前内存的聊天室列表。 注:调用以下任何一种方法后,调用该方法才能有返回数据: (1)fetchPublicChatRoomsFromServer(int, int) 或其异步方法 asyncFetchPublicChatRoomsFromServer(int, int, ValueCallBack) (2)fetchPublicChatRoomsFromServer(int, String) 或其异步方法 asyncFetchPublicChatRoomsFromServer(int, String, ValueCallBack) 返回的数据是以上方法最后一次分页获取的数据。

返回
返回 ChatRoomManager 维护的聊天室列表。
弃用:

◆ getChatRoom()

ChatRoom io.agora.chat.ChatRoomManager.getChatRoom ( String  roomId)

从内存中获取聊天室。

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

◆ joinChatRoom()

void io.agora.chat.ChatRoomManager.joinChatRoom ( final String  roomId,
final ValueCallBack< ChatRoom callback 
)

加入聊天室。 退出聊天室调用 leaveChatRoom(String)

异步方法。

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

◆ leaveChatRoom()

void io.agora.chat.ChatRoomManager.leaveChatRoom ( final String  roomId)

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

异步方法。

参数
roomId聊天室 ID。

◆ muteAllMembers()

void io.agora.chat.ChatRoomManager.muteAllMembers ( final String  chatRoomId,
final ValueCallBack< ChatRoom callBack 
)

设置全员禁言。 仅聊天室所有者和管理员可调用此方法。 聊天室拥有者、管理员及加入白名单的用户不受影响。

异步方法。

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

◆ muteChatRoomMembers()

ChatRoom io.agora.chat.ChatRoomManager.muteChatRoomMembers ( String  chatRoomId,
List< String >  muteMembers,
long  duration 
) throws ChatException

禁止聊天室成员发言。 仅聊天室所有者和管理员可调用此方法。 异步方法见 asyncMuteChatRoomMembers(String, List, long, ValueCallBack)

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

参数
chatRoomId聊天室 ID。
muteMembers禁言的成员列表。
duration禁言时长,单位是毫秒。
返回
返回修改后的聊天室对象。
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error

◆ removeChatRoomAdmin()

ChatRoom io.agora.chat.ChatRoomManager.removeChatRoomAdmin ( String  chatRoomId,
String  admin 
) throws ChatException

移除聊天室管理员权限。 仅聊天室所有者可调用此方法。 异步方法见 asyncRemoveChatRoomAdmin(String, String, ValueCallBack)

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

参数
chatRoomId聊天室 ID。
admin要移除管理员权限的 ID。
返回
返回修改后的聊天室对象。
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error

◆ removeChatRoomChangeListener()

void io.agora.chat.ChatRoomManager.removeChatRoomChangeListener ( ChatRoomChangeListener  listener)

移除聊天室事件监听对象。 利用 addChatRoomChangeListener(ChatRoomChangeListener) 注册聊天室事件监听对象后,可调用本方法将其移除。目前,推荐使用 removeChatRoomListener(ChatRoomChangeListener) 移除聊天室事件监听对象。

参数
listener要移除的聊天室监听对象。
弃用:
已废弃,请用 ChatRoomManager#removeChatRoomListener(ChatRoomChangeListener) 代替。

◆ removeChatRoomListener()

void io.agora.chat.ChatRoomManager.removeChatRoomListener ( ChatRoomChangeListener  listener)

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

参数
listener要移除的聊天室事件监听对象。

◆ removeChatRoomMembers()

ChatRoom io.agora.chat.ChatRoomManager.removeChatRoomMembers ( String  chatRoomId,
List< String >  members 
) throws ChatException

将成员移出聊天室。 仅聊天室所有者和管理员可调用此方法。 异步方法见 asyncRemoveChatRoomMembers(String, List, ValueCallBack)

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

参数
chatRoomId聊天室 ID。
members要移出聊天室的用户列表。
返回
返回修改后的聊天室对象。
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error

◆ removeFromChatRoomWhiteList()

void io.agora.chat.ChatRoomManager.removeFromChatRoomWhiteList ( final String  chatRoomId,
final List< String >  members,
final ValueCallBack< ChatRoom callBack 
)

将成员从白名单移除。 仅聊天室所有者和管理员可调用此方法。 成员从白名单移除后,将受到 muteAllMembers(String, ValueCallBack) 功能的影响。

异步方法。

参数
chatRoomId聊天室 ID。
members移除白名单的用户列表。
callBack结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)

◆ unblockChatRoomMembers()

ChatRoom io.agora.chat.ChatRoomManager.unblockChatRoomMembers ( String  chatRoomId,
List< String >  members 
) throws ChatException

从聊天室黑名单中移除成员。 仅聊天室所有者或管理员可调用此方法。 异步方法见 asyncBlockChatroomMembers(String, List, ValueCallBack)

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

参数
chatRoomId聊天室 ID。
members要移除黑名单的成员列表。
返回
返回修改后的聊天室对象。
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error

◆ unmuteAllMembers()

void io.agora.chat.ChatRoomManager.unmuteAllMembers ( final String  chatRoomId,
final ValueCallBack< ChatRoom callBack 
)

解除所有成员的禁言状态。 仅聊天室所有者和管理员可调用此方法。

异步方法。

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

◆ unMuteChatRoomMembers()

ChatRoom io.agora.chat.ChatRoomManager.unMuteChatRoomMembers ( String  chatRoomId,
List< String >  members 
) throws ChatException

解除禁言。 仅聊天室所有者和管理员可调用此方法。 异步方法见 asyncUnMuteChatRoomMembers(String, List, ValueCallBack)

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

参数
chatRoomId聊天室 ID。
members解除禁言的用户列表。
返回
返回修改后的聊天室对象。
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error

◆ updateChatRoomAnnouncement()

void io.agora.chat.ChatRoomManager.updateChatRoomAnnouncement ( String  chatRoomId,
String  announcement 
) throws ChatException

更新聊天室公告。 仅聊天室所有者和管理员可调用此方法。 异步方法见 asyncUpdateChatRoomAnnouncement(String, String, CallBack)

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

参数
chatRoomId聊天室 ID。
announcement公告内容。
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述,详见 Error

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