agora_chat_SDK 1.0.6
agora java chat SDK
|
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< ChatRoom > | fetchPublicChatRoomsFromServer (int pageNum, int pageSize) throws ChatException |
CursorResult< ChatRoom > | fetchPublicChatRoomsFromServer (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< ChatRoom > | getAllChatRooms () |
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) |
聊天室管理类,负责聊天室加入和退出、聊天室列表获取以及成员权限管理等。 比如,加入聊天室:
ChatRoom io.agora.chat.ChatRoomManager.addChatRoomAdmin | ( | String | chatRoomId, |
String | admin | ||
) | throws ChatException |
添加聊天室管理员。 仅聊天室所有者可调用此方法。 异步方法见 asyncAddChatRoomAdmin(String, String, ValueCallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
admin | 要设置的管理员 ID。 |
ChatException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error。 |
void io.agora.chat.ChatRoomManager.addChatRoomChangeListener | ( | ChatRoomChangeListener | listener | ) |
注册聊天室事件监听对象。 聊天室被销毁、成员的加入和退出、禁言和加入白名单等操作均可通过设置 ChatRoomChangeListener 进行监听。
利用本方法注册聊天室事件监听对象后,可调用 removeChatRoomListener(ChatRoomChangeListener) 将其移除。
listener | 聊天室事件监听对象,详见 ChatRoomChangeListener。 |
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)。 |
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)。 |
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)。 |
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)。 |
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)。 |
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)。 |
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)。 |
void io.agora.chat.ChatRoomManager.asyncDestroyChatRoom | ( | final String | chatRoomId, |
final CallBack | callBack | ||
) |
销毁聊天室。 仅聊天室所有者可调用此方法。 同步方法见 destroyChatRoom(String)。
异步方法。
chatRoomId | 聊天室 ID。 |
callBack | 结果回调,成功时回调 CallBack#onSuccess(), 失败时回调 CallBack#onError(int, String)。 |
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)。 |
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)。 需注意以下两点:
|
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)。 |
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)。 需注意以下几点:
|
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)。 需注意以下两点: |
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)。 需注意以下两点:
|
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)。 |
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)。 |
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)。 |
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)。 |
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)。 |
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)。 |
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)。 |
ChatRoom io.agora.chat.ChatRoomManager.blockChatroomMembers | ( | String | chatRoomId, |
List< String > | members | ||
) | throws ChatException |
将成员添加到聊天室黑名单。 仅聊天室所有者和管理员可调用此方法。 对于添加到聊天室黑名单的成员,请注意以下几点:
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
members | 要加入黑名单的成员列表。 |
ChatException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error。 |
ChatRoom io.agora.chat.ChatRoomManager.changeChatroomDescription | ( | String | chatRoomId, |
String | newDescription | ||
) | throws ChatException |
修改聊天室描述信息。 仅聊天室所有者可调用此方法。 异步方法见 asyncChangeChatroomDescription(String, String, ValueCallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
newDescription | 新的聊天室描述。 |
ChatException | 如果有异常会在这里抛出,包含错误码和错误描述,详见io.agora.Error。 |
ChatRoom io.agora.chat.ChatRoomManager.changeChatRoomSubject | ( | String | chatRoomId, |
String | newSubject | ||
) | throws ChatException |
修改聊天室标题。 仅聊天室所有者可调用此方法。 异步方法见 asyncChangeChatRoomSubject(String, String, ValueCallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
newSubject | 新的聊天室名称。 |
ChatException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error。 |
ChatRoom io.agora.chat.ChatRoomManager.changeOwner | ( | String | chatRoomId, |
String | newOwner | ||
) | throws ChatException |
转移聊天室的所有权。 仅聊天室所有者可调用此方法。 异步方法见 asyncChangeOwner(String, String, ValueCallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
newOwner | 新的聊天室拥有者 ID。 |
ChatException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error。 |
void io.agora.chat.ChatRoomManager.checkIfInChatRoomWhiteList | ( | final String | chatRoomId, |
ValueCallBack< Boolean > | callBack | ||
) |
检查成员自己是否加入了白名单。
异步方法。
chatRoomId | 聊天室 ID。 |
callBack | 结果回调,成功时回调 ValueCallBack#onSuccess(Object),返回是否在白名单中; 失败时回调 ValueCallBack#onError(int, String)。 |
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 | 邀请加入聊天室的成员列表。 |
ChatException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error。 |
void io.agora.chat.ChatRoomManager.destroyChatRoom | ( | String | chatRoomId | ) | throws ChatException |
销毁聊天室。 仅聊天室所有者可调用此方法。 异步方法见 asyncDestroyChatRoom(String, CallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
ChatException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error。 |
String io.agora.chat.ChatRoomManager.fetchChatRoomAnnouncement | ( | String | chatRoomId | ) | throws ChatException |
从服务器获取聊天室公告内容。 异步方法见 asyncFetchChatRoomAnnouncement(String, ValueCallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
ChatException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 Error。 |
List< String > io.agora.chat.ChatRoomManager.fetchChatRoomBlackList | ( | String | chatRoomId, |
int | pageNum, | ||
int | pageSize | ||
) | throws ChatException |
以分页的形式获取聊天室黑名单列表。 仅聊天室所有者或管理员可调用此方法。 异步方法见 asyncFetchChatRoomBlackList(String, int, int, ValueCallBack)。
同步方法,会阻塞当前线程。
需注意以下两点:
chatRoomId | 聊天室 ID。 |
pageNum | 当前页码,从 1 开始。 |
pageSize | 每页返回的黑名单中的用户数。 |
ChatException | 如果有异常会在这里抛出,包含错误码和错误描述详见 io.agora.Error。 |
ChatRoom io.agora.chat.ChatRoomManager.fetchChatRoomFromServer | ( | String | roomId | ) | throws ChatException |
从服务器获取聊天室详情,默认不取成员列表。 异步方法见 asyncFetchChatRoomFromServer(String, ValueCallBack)。
同步方法,会阻塞当前线程。
roomId | 聊天室 ID。 |
ChatException | 如果有异常会在这里抛出,包含错误码和错误描述,错误码详见 io.agora.Error。 |
ChatRoom io.agora.chat.ChatRoomManager.fetchChatRoomFromServer | ( | String | roomId, |
boolean | fetchMembers | ||
) | throws ChatException |
从服务器获取聊天室详情。 如果需要取成员列表,默认最多取 200 个成员,超出部分,请调用 ChatRoomManager#fetchChatRoomMembers(String, String, int)。
同步方法,会阻塞当前线程。
roomId | 聊天室ID。 |
fetchMembers | 是否需要获取聊天室成员。 |
ChatException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error。 |
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 | 每页返回的成员数。 |
ChatException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error。 请注意以下几点:
|
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 | 每页返回的禁言成员数。 |
ChatException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error。 |
需注意以下两点:
void io.agora.chat.ChatRoomManager.fetchChatRoomWhiteList | ( | final String | chatRoomId, |
final ValueCallBack< List< String > > | callBack | ||
) |
从服务器获取白名单列表。 仅聊天室所有者和管理员可调用此方法。
异步方法。
chatRoomId | 聊天室 ID。 |
callBack | 结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)。 |
PageResult< ChatRoom > io.agora.chat.ChatRoomManager.fetchPublicChatRoomsFromServer | ( | int | pageNum, |
int | pageSize | ||
) | throws ChatException |
以分页的方式从服务器获取聊天室数据。 此方法为同步方法,也可使用异步方法 asyncFetchPublicChatRoomsFromServer(int, int, ValueCallBack)。
同步方法,会阻塞当前线程。
pageNum | 当前页码,从 1 开始。 |
pageSize | 每页返回的记录数。 |
ChatException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error。 |
需注意以下两点:
CursorResult< ChatRoom > io.agora.chat.ChatRoomManager.fetchPublicChatRoomsFromServer | ( | int | pageSize, |
String | cursor | ||
) | throws ChatException |
以分页的方式从服务器获取聊天室数据。 返回的结果中,当 CursorResult.getCursor() 为空字符串 ("") 时,表示数据获取完毕。 此方法为耗时操作,可以调用异步方法 asyncFetchPublicChatRoomsFromServer(int, String, ValueCallBack)。
同步方法,会阻塞当前线程。
pageSize | 每页返回的记录数。 |
cursor | 从游标位置开始取数据。 |
ChatException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error。 |
List< ChatRoom > io.agora.chat.ChatRoomManager.getAllChatRooms | ( | ) |
获取当前内存的聊天室列表。 注:调用以下任何一种方法后,调用该方法才能有返回数据: (1)fetchPublicChatRoomsFromServer(int, int) 或其异步方法 asyncFetchPublicChatRoomsFromServer(int, int, ValueCallBack) (2)fetchPublicChatRoomsFromServer(int, String) 或其异步方法 asyncFetchPublicChatRoomsFromServer(int, String, ValueCallBack) 返回的数据是以上方法最后一次分页获取的数据。
ChatRoom io.agora.chat.ChatRoomManager.getChatRoom | ( | String | roomId | ) |
从内存中获取聊天室。
roomId | 聊天室 ID。 |
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),其中第一个参数为错误参数,第二各参数为错误信息。 |
void io.agora.chat.ChatRoomManager.leaveChatRoom | ( | final String | roomId | ) |
void io.agora.chat.ChatRoomManager.muteAllMembers | ( | final String | chatRoomId, |
final ValueCallBack< ChatRoom > | callBack | ||
) |
设置全员禁言。 仅聊天室所有者和管理员可调用此方法。 聊天室拥有者、管理员及加入白名单的用户不受影响。
异步方法。
chatRoomId | 聊天室 ID。 |
callBack | 结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)。 |
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。 |
ChatRoom io.agora.chat.ChatRoomManager.removeChatRoomAdmin | ( | String | chatRoomId, |
String | admin | ||
) | throws ChatException |
移除聊天室管理员权限。 仅聊天室所有者可调用此方法。 异步方法见 asyncRemoveChatRoomAdmin(String, String, ValueCallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
admin | 要移除管理员权限的 ID。 |
ChatException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error。 |
void io.agora.chat.ChatRoomManager.removeChatRoomChangeListener | ( | ChatRoomChangeListener | listener | ) |
移除聊天室事件监听对象。 利用 addChatRoomChangeListener(ChatRoomChangeListener) 注册聊天室事件监听对象后,可调用本方法将其移除。目前,推荐使用 removeChatRoomListener(ChatRoomChangeListener) 移除聊天室事件监听对象。
listener | 要移除的聊天室监听对象。 |
void io.agora.chat.ChatRoomManager.removeChatRoomListener | ( | ChatRoomChangeListener | listener | ) |
移除聊天室事件监听对象。 利用 addChatRoomChangeListener(ChatRoomChangeListener) 注册聊天室事件监听对象后,可调用本方法将其移除。
listener | 要移除的聊天室事件监听对象。 |
ChatRoom io.agora.chat.ChatRoomManager.removeChatRoomMembers | ( | String | chatRoomId, |
List< String > | members | ||
) | throws ChatException |
将成员移出聊天室。 仅聊天室所有者和管理员可调用此方法。 异步方法见 asyncRemoveChatRoomMembers(String, List, ValueCallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
members | 要移出聊天室的用户列表。 |
ChatException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error。 |
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)。 |
ChatRoom io.agora.chat.ChatRoomManager.unblockChatRoomMembers | ( | String | chatRoomId, |
List< String > | members | ||
) | throws ChatException |
从聊天室黑名单中移除成员。 仅聊天室所有者或管理员可调用此方法。 异步方法见 asyncBlockChatroomMembers(String, List, ValueCallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
members | 要移除黑名单的成员列表。 |
ChatException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error。 |
void io.agora.chat.ChatRoomManager.unmuteAllMembers | ( | final String | chatRoomId, |
final ValueCallBack< ChatRoom > | callBack | ||
) |
解除所有成员的禁言状态。 仅聊天室所有者和管理员可调用此方法。
异步方法。
chatRoomId | 聊天室 ID。 |
callBack | 结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)。 |
ChatRoom io.agora.chat.ChatRoomManager.unMuteChatRoomMembers | ( | String | chatRoomId, |
List< String > | members | ||
) | throws ChatException |
解除禁言。 仅聊天室所有者和管理员可调用此方法。 异步方法见 asyncUnMuteChatRoomMembers(String, List, ValueCallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
members | 解除禁言的用户列表。 |
ChatException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 io.agora.Error。 |
void io.agora.chat.ChatRoomManager.updateChatRoomAnnouncement | ( | String | chatRoomId, |
String | announcement | ||
) | throws ChatException |
更新聊天室公告。 仅聊天室所有者和管理员可调用此方法。 异步方法见 asyncUpdateChatRoomAnnouncement(String, String, CallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
announcement | 公告内容。 |
ChatException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 Error。 |