即时通讯 IM API 参考 v1.3.2
Agora Java IM SDK
Public 成员函数 | 所有成员列表
io.agora.chat.ChatRoomManager类 参考

Public 成员函数

void addChatRoomChangeListener (ChatRoomChangeListener listener)
 
void removeChatRoomChangeListener (ChatRoomChangeListener listener)
 
void removeChatRoomListener (ChatRoomChangeListener listener)
 
void joinChatRoom (final String roomId, final ValueCallBack< ChatRoom > callback)
 
void joinChatRoom (final String roomId, boolean leaveOtherRooms, String ext, final ValueCallBack< ChatRoom > callback)
 
void leaveChatRoom (final String roomId)
 
void leaveChatRoom (final String roomId, CallBack callback)
 
PageResult< ChatRoomfetchPublicChatRoomsFromServer (int pageNum, int pageSize) throws ChatException
 
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 asyncCheckIfInMuteList (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)
 
void asyncSetChatroomAttributes (String chatRoomId, Map< String, String > attributeMap, boolean autoDelete, @NonNull final ResultCallBack< Map< String, Integer > > callBack)
 
void asyncSetChatroomAttribute (String chatRoomId, String key, String value, boolean autoDelete, @NonNull final CallBack callBack)
 
void asyncSetChatroomAttributesForced (String chatRoomId, Map< String, String > attributeMap, boolean autoDelete, @NonNull final ResultCallBack< Map< String, Integer > > callBack)
 
void asyncSetChatroomAttributeForced (String chatRoomId, String key, String value, boolean autoDelete, @NonNull final CallBack callBack)
 
void asyncFetchChatroomAttributesFromServer (String chatRoomId, List< String > keyList, @NonNull final ValueCallBack< Map< String, String > > callBack)
 
void asyncFetchChatRoomAllAttributesFromServer (String chatRoomId, @NonNull final ValueCallBack< Map< String, String > > callBack)
 
void asyncRemoveChatRoomAttributesFromServer (String chatRoomId, List< String > keyList, @NonNull final ResultCallBack< Map< String, Integer > > callBack)
 
void asyncRemoveChatRoomAttributeFromServer (String chatRoomId, String key, @NonNull final CallBack callBack)
 
void asyncRemoveChatRoomAttributesFromServerForced (String chatRoomId, List< String > keyList, @NonNull final ResultCallBack< Map< String, Integer > > callBack)
 
void asyncRemoveChatRoomAttributeFromServerForced (String chatRoomId, String key, @NonNull final CallBack 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要设置为管理员的成员。
返回
返回修改后的聊天室对象。
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述,详见 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要设置为管理员的成员。
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聊天室的新所有者。
callBack结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)

◆ asyncCheckIfInMuteList()

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

检查成员自己是否被禁言。

异步方法。

参数
chatRoomId聊天室 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)

◆ asyncFetchChatRoomAllAttributesFromServer()

void io.agora.chat.ChatRoomManager.asyncFetchChatRoomAllAttributesFromServer ( String  chatRoomId,
@NonNull final ValueCallBack< Map< String, String > >  callBack 
)

获取聊天室所有自定义属性。

异步方法。

同步方法见 fetchChatroomAttributes(String,List)

参数
chatRoomId聊天室 ID。
callBack结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#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)

◆ asyncFetchChatroomAttributesFromServer()

void io.agora.chat.ChatRoomManager.asyncFetchChatroomAttributesFromServer ( String  chatRoomId,
List< String >  keyList,
@NonNull final ValueCallBack< Map< String, String > >  callBack 
)

根据聊天室属性 key 列表获取属性列表。

异步方法。

同步方法见 fetchChatroomAttributes(String,List)

参数
chatRoomId聊天室 ID。
keyList聊天室属性 key 列表,传 null 返回所有自定义属性。
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每页期望获取的黑名单中的成员数。取值范围为 [1,50]。
callBack结果回调,成功时回调 ValueCallBack#onSuccess(Object),返回聊天室黑名单列表; 失败时回调 ValueCallBack#onError(int, String)

◆ 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从该游标位置开始取数据。首次调用 cursor 传空值,从最新数据开始获取。
pageSize每页期望获取的成员数。取值范围为 [1,50]。
callBack结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)

◆ 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每页期望返回的禁言成员数。取值范围为 [1,50]。
callBack结果回调,成功时回调 ValueCallBack#onSuccess(Object), 失败时回调 ValueCallBack#onError(int, String)

◆ asyncFetchPublicChatRoomsFromServer()

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

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

异步方法。

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

◆ 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禁言时长,单位为毫秒,如果是 -1 代表永久。
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)

◆ asyncRemoveChatRoomAttributeFromServer()

void io.agora.chat.ChatRoomManager.asyncRemoveChatRoomAttributeFromServer ( String  chatRoomId,
String  key,
@NonNull final CallBack  callBack 
)

删除单个聊天室属性。

注解
该方法不删除其他成员设置的属性。

异步方法。

同步方法见 removeChatroomAttribute(String,List)

参数
chatRoomId聊天室 ID。
key要删除的聊天室自定义属性的 key。
callBack结果回调,成功时回调 CallBack#onSuccess(), 失败时回调 CallBack#onError(int, String)

◆ asyncRemoveChatRoomAttributeFromServerForced()

void io.agora.chat.ChatRoomManager.asyncRemoveChatRoomAttributeFromServerForced ( String  chatRoomId,
String  key,
@NonNull final CallBack  callBack 
)

强制删除单个聊天室自定义属性。

注解
该方法支持删除其他成员设置的自定义属性。

异步方法。

同步方法见 removeChatroomAttributeForced(String, List)}。

参数
chatRoomId聊天室 ID。
key要删除的聊天室自定义属性的 key。
callBack结果回调,成功时回调 CallBack#onSuccess(), 失败时回调 CallBack#onError(int, String)

◆ asyncRemoveChatRoomAttributesFromServer()

void io.agora.chat.ChatRoomManager.asyncRemoveChatRoomAttributesFromServer ( String  chatRoomId,
List< String >  keyList,
@NonNull final ResultCallBack< Map< String, Integer > >  callBack 
)

根据聊天室自定义属性 key 列表批量删除自定义聊天室属性。

注解
该方法不删除其他成员设置的属性。

异步方法。

参数
chatRoomId聊天室 ID。
keyList要删除的聊天室自定义属性的 key 列表。
callBack结果回调ResultCallBack#onResult(int, Object), 举例:Object 为 Map={"k1":703} 详细可以查看Error EXCEED_SERVICE_LIMIT = 4; INVALID_PARAM = 110; QUERY_PARAM_REACHES_LIMIT = 112; CHATROOM_PERMISSION_DENIED = 703;

◆ asyncRemoveChatRoomAttributesFromServerForced()

void io.agora.chat.ChatRoomManager.asyncRemoveChatRoomAttributesFromServerForced ( String  chatRoomId,
List< String >  keyList,
@NonNull final ResultCallBack< Map< String, Integer > >  callBack 
)

强制删除多个聊天室自定义属性。

注解
该方法支持删除其他成员设置的自定义属性。

异步方法。

同步方法见 removeChatroomAttributeForced(String, List)}。

参数
chatRoomId聊天室 ID。
keyList要删除的聊天室自定义属性的 key 列表。
callBack结果回调ResultCallBack#onResult(int, Object) (int,Object)}, 举例:Object 为 Map={"k1":703} 详细可以查看Error EXCEED_SERVICE_LIMIT = 4; INVALID_PARAM = 110; QUERY_PARAM_REACHES_LIMIT = 112; CHATROOM_PERMISSION_DENIED = 703;

◆ 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)

◆ asyncSetChatroomAttribute()

void io.agora.chat.ChatRoomManager.asyncSetChatroomAttribute ( String  chatRoomId,
String  key,
String  value,
boolean  autoDelete,
@NonNull final CallBack  callBack 
)

设置聊天室单个自定义属性。

注解
该方法不允许覆盖其他成员设置的属性。

异步方法。

参数
chatRoomId聊天室 ID。
key聊天室属性 key,指定属性名。属性名不能超过 128 字符。每个聊天室最多可有 100 个属性。Key 支持以下字符集:
  • 26 个小写英文字母 a-z;
  • 26 个大写英文字母 A-Z;
  • 10 个数字 0-9;
  • “_”, “-”, “.”。
value聊天室属性 value,属性值。每个属性值不超过 4096 字符,每个应用的聊天室属性总大小不能超过 10 GB。
autoDelete当前成员退出聊天室是否自动删除该聊天室中其设置的所有聊天室自定义属性。
  • (默认)true:是。
  • false:否。
callBack结果回调,成功时回调 CallBack#onSuccess(), 失败时回调 CallBack#onError(int, String)

◆ asyncSetChatroomAttributeForced()

void io.agora.chat.ChatRoomManager.asyncSetChatroomAttributeForced ( String  chatRoomId,
String  key,
String  value,
boolean  autoDelete,
@NonNull final CallBack  callBack 
)

强制设置单个聊天室自定义属性。

注解
该方法会覆盖其他成员设置的属性。

异步方法。

参数
chatRoomId聊天室 ID。
key聊天室属性 key,指定属性名。属性名不能超过 128 字符。每个聊天室最多可有 100 个属性。Key 支持以下字符集: • 26 个小写英文字母 a-z; • 26 个大写英文字母 A-Z; • 10 个数字 0-9; • “_”, “-”, “.”。
value聊天室属性值。每个属性值不超过 4096 字符,每个应用的聊天室属性总大小不能超过 10 GB。
autoDelete当前成员退出聊天室是否自动删除该聊天室中其设置的所有聊天室自定义属性。
  • (默认)true:是。
  • false:否。
callBack结果回调,成功时回调 CallBack#onSuccess(), 失败时回调 CallBack#onError(int, String)

◆ asyncSetChatroomAttributes()

void io.agora.chat.ChatRoomManager.asyncSetChatroomAttributes ( String  chatRoomId,
Map< String, String >  attributeMap,
boolean  autoDelete,
@NonNull final ResultCallBack< Map< String, Integer > >  callBack 
)

设置多个聊天室自定义属性。

注解
该方法不支持覆盖其他成员设置的属性。

异步方法。

参数
chatRoomId聊天室 ID。
attributeMap聊天室自定义属性集合,为键值对(key-value)结构。在键值对中,key 为属性名,不超过 128 字符;value 为属性值,不超过 4096 字符。 每个聊天室最多有 100 个属性,每个应用的聊天室属性总大小不超过 10 GB。
autoDelete当前成员退出聊天室是否自动删除该聊天室中其设置的所有聊天室自定义属性。
  • (默认)true:是。
  • false:否。
callBack结果回调 ResultCallBack#onResult(int, Object), 举例:Object 为 Map={"k1":703} 详细可以查看Error EXCEED_SERVICE_LIMIT = 4; INVALID_PARAM = 110; QUERY_PARAM_REACHES_LIMIT = 112; CHATROOM_PERMISSION_DENIED = 703;

◆ asyncSetChatroomAttributesForced()

void io.agora.chat.ChatRoomManager.asyncSetChatroomAttributesForced ( String  chatRoomId,
Map< String, String >  attributeMap,
boolean  autoDelete,
@NonNull final ResultCallBack< Map< String, Integer > >  callBack 
)

强制设置多个聊天室自定义属性。

注解
该方法会覆盖其他成员设置的属性。

异步方法。

参数
chatRoomId聊天室 ID。
attributeMap聊天室自定义属性集合,为键值对(key-value)结构。在键值对中,key 为属性名,不超过 128 字符;value 为属性值,不超过 4096 字符。 每个聊天室最多有 100 个属性,每个应用的聊天室属性总大小不超过 10 GB。
autoDelete成员退出聊天室是否自动删除该聊天室中其设置的所有聊天室自定义属性。
  • (默认)true:是。
  • false:否。
callBack结果回调ResultCallBack#onResult(int,Object), 举例:Object 为 Map={"k1":703} 详细可以查看Error EXCEED_SERVICE_LIMIT = 4; INVALID_PARAM = 110; QUERY_PARAM_REACHES_LIMIT = 112; CHATROOM_PERMISSION_DENIED = 703;

◆ 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

将成员添加到聊天室黑名单。

注解
仅聊天室所有者和管理员可调用此方法。

异步方法见 asyncBlockChatroomMembers(String, List, ValueCallBack)

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

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

◆ changeChatroomDescription()

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

修改聊天室描述信息。

注解
仅聊天室所有者可调用此方法。

异步方法见 asyncChangeChatroomDescription(String, String, ValueCallBack)

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

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

◆ changeChatRoomSubject()

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

修改聊天室名称。

注解
仅聊天室所有者可调用此方法。

异步方法见 asyncChangeChatRoomSubject(String, String, ValueCallBack)

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

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

◆ changeOwner()

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

转移聊天室的所有权。

注解
仅聊天室所有者可调用此方法。

异步方法见 asyncChangeOwner(String, String, ValueCallBack)

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

参数
chatRoomId聊天室 ID。
newOwner聊天室的新所有者。
返回
返回修改后的聊天室对象。
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述,详见 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

创建聊天室。

@Note 异步方法见 asyncCreateChatRoom(String, String, String, int, List, ValueCallBack)

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

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

◆ destroyChatRoom()

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

解散聊天室。

注解
仅聊天室所有者可调用此方法。

异步方法见 asyncDestroyChatRoom(String, CallBack)

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

参数
chatRoomId聊天室 ID。
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述,详见 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)

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

参数
chatRoomId聊天室 ID。
pageNum当前页码,从 1 开始。
pageSize每页期望获取的黑名单中的成员数。取值范围为 [1,50]。
返回
返回聊天室黑名单列表。
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述详见 Error

◆ fetchChatRoomFromServer() [1/2]

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

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

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

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

异步方法见 asyncFetchChatRoomFromServer(String, ValueCallBack)

参数
roomId聊天室 ID。
返回
ChatRoom 返回聊天室对象。
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述,错误码详见 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如果有异常会在这里抛出,包含错误码和错误描述,详见 Error
弃用:
不再推荐使用此方法,建议使用 fetchChatRoomFromServer(String)

◆ 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从该游标位置开始取数据。首次调用 cursor 传空值,从最新数据开始获取。
pageSize每页期望获取的成员数。取值范围为 [1,50]。
返回
聊天室成员列表和用于下次获取的 cursor。详见 CursorResult
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述,详见 Error

◆ 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每页期望返回的禁言成员数。取值范围为 [1,50]。
返回
返回的包含禁言成员 ID 及其禁言时长的 Map,其中每一项的 key 是禁言的成员 ID,value 是禁言时长,单位是毫秒。
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述,详见 Error

◆ 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()

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

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

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

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

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

◆ getAllChatRooms()

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

获取当前内存的聊天室列表。

注解
调用以下任何一种方法后,调用该方法才能有返回数据:

(1)fetchPublicChatRoomsFromServer(int, int) 或其异步方法 asyncFetchPublicChatRoomsFromServer(int, int, ValueCallBack)

返回的数据是以上方法最后一次分页获取的数据。

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

◆ getChatRoom()

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

从内存中获取聊天室。

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

◆ joinChatRoom() [1/2]

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

加入聊天室。

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

异步方法。

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

◆ joinChatRoom() [2/2]

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

加入聊天室。

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

异步方法。

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

◆ leaveChatRoom() [1/2]

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

退出聊天室。

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

异步方法。

参数
roomId聊天室 ID。

◆ leaveChatRoom() [2/2]

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

退出聊天室。

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

异步方法。

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

◆ 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禁言时长,单位为毫秒,若为 -1,表示永久禁言。
返回
返回修改后的聊天室对象。
异常
ChatException如果有异常会在这里抛出,包含错误码和错误描述,详见 Error

◆ removeChatRoomAdmin()

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

移除聊天室管理员权限。

注解
仅聊天室所有者可调用此方法。

异步方法见 asyncRemoveChatRoomAdmin(String, String, ValueCallBack)

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

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

◆ updateChatRoomAnnouncement()

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

更新聊天室公告。

注解
仅聊天室所有者和管理员可调用此方法。

异步方法见 asyncUpdateChatRoomAnnouncement(String, String, CallBack)

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

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

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