hyphenate_SDK3.0 3.9.9.2
hyphenate java IM SDK
|
Public 成员函数 | |
EMChatRoomManager (EMClient client, EMAChatRoomManager manager) | |
void | addChatRoomChangeListener (EMChatRoomChangeListener listener) |
void | removeChatRoomChangeListener (EMChatRoomChangeListener listener) |
void | removeChatRoomListener (EMChatRoomChangeListener listener) |
void | joinChatRoom (final String roomId, final EMValueCallBack< EMChatRoom > callback) |
void | leaveChatRoom (final String roomId) |
EMPageResult< EMChatRoom > | fetchPublicChatRoomsFromServer (int pageNum, int pageSize) throws HyphenateException |
EMCursorResult< EMChatRoom > | fetchPublicChatRoomsFromServer (int pageSize, String cursor) throws HyphenateException |
void | asyncFetchPublicChatRoomsFromServer (final int pageSize, final String cursor, final EMValueCallBack< EMCursorResult< EMChatRoom > > callback) |
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) |
List< EMChatRoom > | getAllChatRooms () |
EMChatRoom | createChatRoom (String subject, String description, String welcomeMessage, int maxUserCount, List< String > members) throws HyphenateException |
void | asyncCreateChatRoom (final String subject, final String description, final String welcomeMessage, final int maxUserCount, final List< String > members, final EMValueCallBack< EMChatRoom > callBack) |
void | destroyChatRoom (String chatRoomId) throws HyphenateException |
void | asyncDestroyChatRoom (final String chatRoomId, final EMCallBack callBack) |
EMChatRoom | changeChatRoomSubject (String chatRoomId, String newSubject) throws HyphenateException |
void | asyncChangeChatRoomSubject (final String chatRoomId, final String newSubject, final EMValueCallBack< EMChatRoom > callBack) |
EMChatRoom | changeChatroomDescription (String chatRoomId, String newDescription) throws HyphenateException |
void | asyncChangeChatroomDescription (final String chatRoomId, final String newDescription, final EMValueCallBack< EMChatRoom > callBack) |
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) |
EMChatRoom | muteChatRoomMembers (String chatRoomId, List< String > muteMembers, long duration) throws HyphenateException |
void | asyncMuteChatRoomMembers (final String chatRoomId, final List< String > muteMembers, final long duration, final EMValueCallBack< EMChatRoom > callBack) |
EMChatRoom | unMuteChatRoomMembers (String chatRoomId, List< String > members) throws HyphenateException |
void | asyncUnMuteChatRoomMembers (final String chatRoomId, final List< String > members, final EMValueCallBack< EMChatRoom > callBack) |
EMChatRoom | changeOwner (String chatRoomId, String newOwner) throws HyphenateException |
void | asyncChangeOwner (final String chatRoomId, final String newOwner, final EMValueCallBack< EMChatRoom > callBack) throws HyphenateException |
EMChatRoom | addChatRoomAdmin (String chatRoomId, String admin) throws HyphenateException |
void | asyncAddChatRoomAdmin (final String chatRoomId, final String admin, final EMValueCallBack< EMChatRoom > callBack) |
EMChatRoom | removeChatRoomAdmin (String chatRoomId, String admin) throws HyphenateException |
void | asyncRemoveChatRoomAdmin (final String chatRoomId, final String admin, final EMValueCallBack< EMChatRoom > callBack) |
Map< String, Long > | fetchChatRoomMuteList (String chatRoomId, int pageNum, int pageSize) throws HyphenateException |
void | asyncFetchChatRoomMuteList (final String chatRoomId, final int pageNum, final int pageSize, final EMValueCallBack< Map< String, Long > > callBack) |
EMChatRoom | removeChatRoomMembers (String chatRoomId, List< String > members) throws HyphenateException |
void | asyncRemoveChatRoomMembers (final String chatRoomId, final List< String > members, final EMValueCallBack< EMChatRoom > callBack) |
EMChatRoom | blockChatroomMembers (String chatRoomId, List< String > members) throws HyphenateException |
void | asyncBlockChatroomMembers (final String chatRoomId, final List< String > members, final EMValueCallBack< EMChatRoom > callBack) |
EMChatRoom | unblockChatRoomMembers (String chatRoomId, List< String > members) throws HyphenateException |
void | asyncUnBlockChatRoomMembers (final String chatRoomId, final List< String > members, final EMValueCallBack< EMChatRoom > callBack) |
List< String > | fetchChatRoomBlackList (String chatRoomId, int pageNum, int pageSize) throws HyphenateException |
void | asyncFetchChatRoomBlackList (final String chatRoomId, final int pageNum, final int pageSize, final EMValueCallBack< List< String > > callBack) |
void | addToChatRoomWhiteList (final String chatRoomId, final List< String > members, final EMValueCallBack< EMChatRoom > callBack) |
void | removeFromChatRoomWhiteList (final String chatRoomId, final List< String > members, final EMValueCallBack< EMChatRoom > callBack) |
void | checkIfInChatRoomWhiteList (final String chatRoomId, EMValueCallBack< Boolean > callBack) |
void | fetchChatRoomWhiteList (final String chatRoomId, final EMValueCallBack< List< String > > callBack) |
void | muteAllMembers (final String chatRoomId, final EMValueCallBack< EMChatRoom > callBack) |
void | unmuteAllMembers (final String chatRoomId, final EMValueCallBack< EMChatRoom > callBack) |
void | updateChatRoomAnnouncement (String chatRoomId, String announcement) throws HyphenateException |
void | asyncUpdateChatRoomAnnouncement (final String chatRoomId, final String announcement, final EMCallBack callBack) |
String | fetchChatRoomAnnouncement (String chatRoomId) throws HyphenateException |
void | asyncFetchChatRoomAnnouncement (final String chatRoomId, final EMValueCallBack< String > callBack) |
void | asyncSetChatroomAttributes (String chatRoomId, Map< String, String > attributeMap, boolean autoDelete, @NonNull final EMResultCallBack< Map< String, Integer > > callBack) |
void | asyncSetChatroomAttribute (String chatRoomId, String key, String value, boolean autoDelete, @NonNull final EMCallBack callBack) |
void | asyncSetChatroomAttributesForced (String chatRoomId, Map< String, String > attributeMap, boolean autoDelete, @NonNull final EMResultCallBack< Map< String, Integer > > callBack) |
void | asyncSetChatroomAttributeForced (String chatRoomId, String key, String value, boolean autoDelete, @NonNull final EMCallBack callBack) |
void | asyncFetchChatroomAttributesFromServer (String chatRoomId, List< String > keyList, @NonNull final EMValueCallBack< Map< String, String > > callBack) |
void | asyncFetchChatRoomAllAttributesFromServer (String chatRoomId, @NonNull final EMValueCallBack< Map< String, String > > callBack) |
void | asyncRemoveChatRoomAttributesFromServer (String chatRoomId, List< String > keyList, @NonNull final EMResultCallBack< Map< String, Integer > > callBack) |
void | asyncRemoveChatRoomAttributeFromServer (String chatRoomId, String key, @NonNull final EMCallBack callBack) |
void | asyncRemoveChatRoomAttributesFromServerForced (String chatRoomId, List< String > keyList, @NonNull final EMResultCallBack< Map< String, Integer > > callBack) |
void | asyncRemoveChatRoomAttributeFromServerForced (String chatRoomId, String key, @NonNull final EMCallBack callBack) |
聊天室管理类,负责聊天室加入和退出、聊天室列表获取以及成员权限管理等。 比如,加入聊天室:
EMChatRoom com.hyphenate.chat.EMChatRoomManager.addChatRoomAdmin | ( | String | chatRoomId, |
String | admin | ||
) | throws HyphenateException |
添加聊天室管理员。
异步方法见 asyncAddChatRoomAdmin(String, String, EMValueCallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
admin | 要设置为管理员的成员。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 com.hyphenate.EMError。 |
void com.hyphenate.chat.EMChatRoomManager.addChatRoomChangeListener | ( | EMChatRoomChangeListener | listener | ) |
注册聊天室事件监听对象。
利用本方法注册聊天室事件监听对象后,可调用 removeChatRoomListener(EMChatRoomChangeListener) 将其移除。
listener | 聊天室事件监听对象,详见 EMChatRoomChangeListener。 |
void com.hyphenate.chat.EMChatRoomManager.addToChatRoomWhiteList | ( | final String | chatRoomId, |
final List< String > | members, | ||
final EMValueCallBack< EMChatRoom > | callBack | ||
) |
将成员添加到白名单。
聊天室所有者或者管理员执行 muteAllMembers(String, EMValueCallBack) 时,加入白名单的成员不受影响。
异步方法。
chatRoomId | 聊天室 ID。 |
members | 加入白名单的成员列表。 |
callBack | 结果回调,成功时回调 EMValueCallBack#onSuccess(Object), 失败时回调 EMValueCallBack#onError(int, String)。 |
void com.hyphenate.chat.EMChatRoomManager.asyncAddChatRoomAdmin | ( | final String | chatRoomId, |
final String | admin, | ||
final EMValueCallBack< EMChatRoom > | callBack | ||
) |
添加聊天室管理员。
同步方法见 addChatRoomAdmin(String, String)。
异步方法。
chatRoomId | 聊天室 ID。 |
admin | 要设置为管理员的成员。 |
callBack | 结果回调,成功时回调 EMValueCallBack#onSuccess(Object), 失败时回调 EMValueCallBack#onError(int, String)。 |
void com.hyphenate.chat.EMChatRoomManager.asyncBlockChatroomMembers | ( | final String | chatRoomId, |
final List< String > | members, | ||
final EMValueCallBack< EMChatRoom > | callBack | ||
) |
将成员添加到聊天室黑名单。
异步方法。
chatRoomId | 聊天室 ID。 |
members | 要加入黑名单的成员列表。 |
callBack | 结果回调,成功时回调 EMValueCallBack#onSuccess(Object), 失败时回调 EMValueCallBack#onError(int, String)。 |
void com.hyphenate.chat.EMChatRoomManager.asyncChangeChatroomDescription | ( | final String | chatRoomId, |
final String | newDescription, | ||
final EMValueCallBack< EMChatRoom > | callBack | ||
) |
修改聊天室描述信息。
同步方法见 changeChatroomDescription(String, String)。
异步方法。
chatRoomId | 聊天室 ID。 |
newDescription | 修改后的聊天室描述。 |
callBack | 结果回调,成功时回调 EMValueCallBack#onSuccess(Object), 失败时回调 EMValueCallBack#onError(int, String)。 |
void com.hyphenate.chat.EMChatRoomManager.asyncChangeChatRoomSubject | ( | final String | chatRoomId, |
final String | newSubject, | ||
final EMValueCallBack< EMChatRoom > | callBack | ||
) |
修改聊天室名称。
同步方法见 changeChatRoomSubject(String, String)。
异步方法。
chatRoomId | 聊天室 ID。 |
newSubject | 修改后的聊天室名称。 |
callBack | 结果回调,成功时回调 EMValueCallBack#onSuccess(Object), 失败时回调 EMValueCallBack#onError(int, String)。 |
void com.hyphenate.chat.EMChatRoomManager.asyncChangeOwner | ( | final String | chatRoomId, |
final String | newOwner, | ||
final EMValueCallBack< EMChatRoom > | callBack | ||
) | throws HyphenateException |
转移聊天室的所有权。
同步方法见 changeOwner(String, String)
异步方法。
chatRoomId | 聊天室 ID。 |
newOwner | 聊天室的新所有者。 |
callBack | 结果回调,成功时回调 EMValueCallBack#onSuccess(Object), 失败时回调 EMValueCallBack#onError(int, String)。 |
void com.hyphenate.chat.EMChatRoomManager.asyncCreateChatRoom | ( | final String | subject, |
final String | description, | ||
final String | welcomeMessage, | ||
final int | maxUserCount, | ||
final List< String > | members, | ||
final EMValueCallBack< EMChatRoom > | callBack | ||
) |
创建聊天室。
同步方法见 createChatRoom(String, String, String, int, List)。
异步方法。
subject | 聊天室名称。 |
description | 聊天室描述。 |
welcomeMessage | 用户加入聊天室后收到的欢迎消息。 |
maxUserCount | 聊天室的最大成员数。 |
members | 邀请加入聊天室的用户列表。 |
callBack | 结果回调,成功时回调 EMValueCallBack#onSuccess(Object), 失败时回调 EMValueCallBack#onError(int, String)。 |
void com.hyphenate.chat.EMChatRoomManager.asyncDestroyChatRoom | ( | final String | chatRoomId, |
final EMCallBack | callBack | ||
) |
解散聊天室。
同步方法见 destroyChatRoom(String)。
异步方法。
chatRoomId | 聊天室 ID。 |
callBack | 结果回调,成功时回调 EMCallBack#onSuccess(), 失败时回调 EMCallBack#onError(int, String)。 |
void com.hyphenate.chat.EMChatRoomManager.asyncFetchChatRoomAllAttributesFromServer | ( | String | chatRoomId, |
@NonNull final EMValueCallBack< Map< String, String > > | callBack | ||
) |
获取聊天室所有自定义属性。
异步方法。
同步方法见 fetchChatroomAttributes(String,List)。
chatRoomId | 聊天室 ID。 |
callBack | 结果回调,成功时回调 EMValueCallBack#onSuccess(Object), 失败时回调 EMValueCallBack#onError(int, String)。 |
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)。 |
void com.hyphenate.chat.EMChatRoomManager.asyncFetchChatroomAttributesFromServer | ( | String | chatRoomId, |
List< String > | keyList, | ||
@NonNull final EMValueCallBack< Map< String, String > > | callBack | ||
) |
根据聊天室属性 key 列表获取属性列表。
异步方法。
同步方法见 fetchChatroomAttributes(String,List)。
chatRoomId | 聊天室 ID。 |
keyList | 聊天室属性 key 列表,传 null 返回所有自定义属性。 |
callBack | 结果回调,成功时回调 EMValueCallBack#onSuccess(Object), 失败时回调 EMValueCallBack#onError(int, String)。 |
void com.hyphenate.chat.EMChatRoomManager.asyncFetchChatRoomBlackList | ( | final String | chatRoomId, |
final int | pageNum, | ||
final int | pageSize, | ||
final EMValueCallBack< List< String > > | callBack | ||
) |
以分页的形式获取聊天室黑名单列表。
同步方法见 fetchChatRoomBlackList(String, int, int)。
异步方法。
chatRoomId | 聊天室 ID。 |
pageNum | 当前页码,从 1 开始。 |
pageSize | 每页期望获取的黑名单中的成员数。取值范围为 [1,50]。 |
callBack | 结果回调,成功时回调 EMValueCallBack#onSuccess(Object),返回聊天室黑名单列表; 失败时回调 EMValueCallBack#onError(int, String)。 |
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)。 |
void com.hyphenate.chat.EMChatRoomManager.asyncFetchChatRoomMembers | ( | final String | chatRoomId, |
final String | cursor, | ||
final int | pageSize, | ||
final EMValueCallBack< EMCursorResult< String > > | callBack | ||
) |
获取聊天室成员列表。
异步方法。
chatRoomId | 聊天室 ID。 |
cursor | 从该游标位置开始取数据。首次调用 cursor 传空值,从最新数据开始获取。 |
pageSize | 每页期望获取的成员数。取值范围为 [1,50]。 |
callBack | 结果回调,成功时回调 EMValueCallBack#onSuccess(Object), 失败时回调 EMValueCallBack#onError(int, String)。 |
void com.hyphenate.chat.EMChatRoomManager.asyncFetchChatRoomMuteList | ( | final String | chatRoomId, |
final int | pageNum, | ||
final int | pageSize, | ||
final EMValueCallBack< Map< String, Long > > | callBack | ||
) |
获取聊天室禁言列表。
同步方法见 fetchChatRoomMuteList(String, int, int)。
异步方法。
chatRoomId | 聊天室 ID。 |
pageNum | 当前页码,从 1 开始。 |
pageSize | 每页期望返回的禁言成员数。取值范围为 [1,50]。 |
callBack | 结果回调,成功时回调 EMValueCallBack#onSuccess(Object), 失败时回调 EMValueCallBack#onError(int, String)。 |
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)。 |
void com.hyphenate.chat.EMChatRoomManager.asyncFetchPublicChatRoomsFromServer | ( | final int | pageSize, |
final String | cursor, | ||
final EMValueCallBack< EMCursorResult< EMChatRoom > > | callback | ||
) |
以分页的方式从服务器获取聊天室。
异步方法。
pageSize | 每页期望返回的记录数。取值范围为 [1,50]。 |
cursor | 从游标位置开始取数据。 |
callback | 结果回调,成功回调 EMValueCallBack#onSuccess(Object), 失败回调 EMValueCallBack#onError(int, String)。 |
void com.hyphenate.chat.EMChatRoomManager.asyncMuteChatRoomMembers | ( | final String | chatRoomId, |
final List< String > | muteMembers, | ||
final long | duration, | ||
final EMValueCallBack< EMChatRoom > | callBack | ||
) |
将一组成员禁言。
同步方法见 muteChatRoomMembers(String, List, long)。
异步方法。
chatRoomId | 聊天室 ID。 |
muteMembers | 要禁言的用户列表。 |
duration | 禁言时长,单位为毫秒,如果是 -1 代表永久。 |
callBack | 结果回调,成功时回调 EMValueCallBack#onSuccess(Object), 失败时回调 EMValueCallBack#onError(int, String)。 |
void com.hyphenate.chat.EMChatRoomManager.asyncRemoveChatRoomAdmin | ( | final String | chatRoomId, |
final String | admin, | ||
final EMValueCallBack< EMChatRoom > | callBack | ||
) |
移除聊天室管理员权限。
同步方法见 removeChatRoomAdmin(String, String)}。
异步方法。
chatRoomId | 聊天室 ID。 |
admin | 要移除管理员权限的 ID。 |
callBack | 结果回调,成功时回调 EMValueCallBack#onSuccess(Object), 失败时回调 EMValueCallBack#onError(int, String)。 |
void com.hyphenate.chat.EMChatRoomManager.asyncRemoveChatRoomAttributeFromServer | ( | String | chatRoomId, |
String | key, | ||
@NonNull final EMCallBack | callBack | ||
) |
删除单个聊天室属性。
异步方法。
同步方法见 removeChatroomAttribute(String,List)。
chatRoomId | 聊天室 ID。 |
key | 要删除的聊天室自定义属性的 key。 |
callBack | 结果回调,成功时回调 EMCallBack#onSuccess(), 失败时回调 EMCallBack#onError(int, String)。 |
void com.hyphenate.chat.EMChatRoomManager.asyncRemoveChatRoomAttributeFromServerForced | ( | String | chatRoomId, |
String | key, | ||
@NonNull final EMCallBack | callBack | ||
) |
强制删除单个聊天室自定义属性。
异步方法。
同步方法见 removeChatroomAttributeForced(String, List)}。
chatRoomId | 聊天室 ID。 |
key | 要删除的聊天室自定义属性的 key。 |
callBack | 结果回调,成功时回调 EMCallBack#onSuccess(), 失败时回调 EMCallBack#onError(int, String)。 |
void com.hyphenate.chat.EMChatRoomManager.asyncRemoveChatRoomAttributesFromServer | ( | String | chatRoomId, |
List< String > | keyList, | ||
@NonNull final EMResultCallBack< Map< String, Integer > > | callBack | ||
) |
根据聊天室自定义属性 key 列表批量删除自定义聊天室属性。
异步方法。
chatRoomId | 聊天室 ID。 |
keyList | 要删除的聊天室自定义属性的 key 列表。 |
callBack | 结果回调EMResultCallBack#onResult(int, Object), 举例:Object 为 Map={"k1":703} 详细可以查看EMError EXCEED_SERVICE_LIMIT = 4; INVALID_PARAM = 110; QUERY_PARAM_REACHES_LIMIT = 112; CHATROOM_PERMISSION_DENIED = 703; |
void com.hyphenate.chat.EMChatRoomManager.asyncRemoveChatRoomAttributesFromServerForced | ( | String | chatRoomId, |
List< String > | keyList, | ||
@NonNull final EMResultCallBack< Map< String, Integer > > | callBack | ||
) |
强制删除多个聊天室自定义属性。
异步方法。
同步方法见 removeChatroomAttributeForced(String, List)}。
chatRoomId | 聊天室 ID。 |
keyList | 要删除的聊天室自定义属性的 key 列表。 |
callBack | 结果回调EMResultCallBack#onResult(int, Object) (int,Object)}, 举例:Object 为 Map={"k1":703} 详细可以查看EMError EXCEED_SERVICE_LIMIT = 4; INVALID_PARAM = 110; QUERY_PARAM_REACHES_LIMIT = 112; CHATROOM_PERMISSION_DENIED = 703; |
void com.hyphenate.chat.EMChatRoomManager.asyncRemoveChatRoomMembers | ( | final String | chatRoomId, |
final List< String > | members, | ||
final EMValueCallBack< EMChatRoom > | callBack | ||
) |
将成员移出聊天室。
同步方法见 removeChatRoomMembers(String, List)。
异步方法。
chatRoomId | 聊天室 ID |
members | 要移出的成员列表。 |
callBack | 结果回调,成功时回调 EMValueCallBack#onSuccess(Object), 失败时回调 EMValueCallBack#onError(int, String)。 |
void com.hyphenate.chat.EMChatRoomManager.asyncSetChatroomAttribute | ( | String | chatRoomId, |
String | key, | ||
String | value, | ||
boolean | autoDelete, | ||
@NonNull final EMCallBack | callBack | ||
) |
设置聊天室单个自定义属性。
异步方法。
chatRoomId | 聊天室 ID。 |
key | 聊天室属性 key,指定属性名。属性名不能超过 128 字符。每个聊天室最多可有 100 个属性。Key 支持以下字符集:
|
value | 聊天室属性 value,属性值。每个属性值不超过 4096 字符,每个应用的聊天室属性总大小不能超过 10 GB。 |
autoDelete | 当前成员退出聊天室是否自动删除该聊天室中其设置的所有聊天室自定义属性。
|
callBack | 结果回调,成功时回调 EMCallBack#onSuccess(), 失败时回调 EMCallBack#onError(int, String)。 |
void com.hyphenate.chat.EMChatRoomManager.asyncSetChatroomAttributeForced | ( | String | chatRoomId, |
String | key, | ||
String | value, | ||
boolean | autoDelete, | ||
@NonNull final EMCallBack | callBack | ||
) |
强制设置单个聊天室自定义属性。
异步方法。
chatRoomId | 聊天室 ID。 |
key | 聊天室属性 key,指定属性名。属性名不能超过 128 字符。每个聊天室最多可有 100 个属性。Key 支持以下字符集: • 26 个小写英文字母 a-z; • 26 个大写英文字母 A-Z; • 10 个数字 0-9; • “_”, “-”, “.”。 |
value | 聊天室属性值。每个属性值不超过 4096 字符,每个应用的聊天室属性总大小不能超过 10 GB。 |
autoDelete | 当前成员退出聊天室是否自动删除该聊天室中其设置的所有聊天室自定义属性。
|
callBack | 结果回调,成功时回调 EMCallBack#onSuccess(), 失败时回调 EMCallBack#onError(int, String)。 |
void com.hyphenate.chat.EMChatRoomManager.asyncSetChatroomAttributes | ( | String | chatRoomId, |
Map< String, String > | attributeMap, | ||
boolean | autoDelete, | ||
@NonNull final EMResultCallBack< Map< String, Integer > > | callBack | ||
) |
设置多个聊天室自定义属性。
异步方法。
chatRoomId | 聊天室 ID。 |
attributeMap | 聊天室自定义属性集合,为键值对(key-value)结构。在键值对中,key 为属性名,不超过 128 字符;value 为属性值,不超过 4096 字符。 每个聊天室最多有 100 个属性,每个应用的聊天室属性总大小不超过 10 GB。 |
autoDelete | 当前成员退出聊天室是否自动删除该聊天室中其设置的所有聊天室自定义属性。
|
callBack | 结果回调 EMResultCallBack#onResult(int, Object), 举例:Object 为 Map={"k1":703} 详细可以查看EMError EXCEED_SERVICE_LIMIT = 4; INVALID_PARAM = 110; QUERY_PARAM_REACHES_LIMIT = 112; CHATROOM_PERMISSION_DENIED = 703; |
void com.hyphenate.chat.EMChatRoomManager.asyncSetChatroomAttributesForced | ( | String | chatRoomId, |
Map< String, String > | attributeMap, | ||
boolean | autoDelete, | ||
@NonNull final EMResultCallBack< Map< String, Integer > > | callBack | ||
) |
强制设置多个聊天室自定义属性。
异步方法。
chatRoomId | 聊天室 ID。 |
attributeMap | 聊天室自定义属性集合,为键值对(key-value)结构。在键值对中,key 为属性名,不超过 128 字符;value 为属性值,不超过 4096 字符。 每个聊天室最多有 100 个属性,每个应用的聊天室属性总大小不超过 10 GB。 |
autoDelete | 成员退出聊天室是否自动删除该聊天室中其设置的所有聊天室自定义属性。
|
callBack | 结果回调EMResultCallBack#onResult(int,Object), 举例:Object 为 Map={"k1":703} 详细可以查看EMError EXCEED_SERVICE_LIMIT = 4; INVALID_PARAM = 110; QUERY_PARAM_REACHES_LIMIT = 112; CHATROOM_PERMISSION_DENIED = 703; |
void com.hyphenate.chat.EMChatRoomManager.asyncUnBlockChatRoomMembers | ( | final String | chatRoomId, |
final List< String > | members, | ||
final EMValueCallBack< EMChatRoom > | callBack | ||
) |
从聊天室黑名单中移除成员。
同步方法见 unblockChatRoomMembers(String, List)。
异步方法。
chatRoomId | 聊天室 ID。 |
members | 要移除黑名单的成员列表。 |
callBack | 结果回调,成功时回调 EMValueCallBack#onSuccess(Object), 失败时回调 EMValueCallBack#onError(int, String)。 |
void com.hyphenate.chat.EMChatRoomManager.asyncUnMuteChatRoomMembers | ( | final String | chatRoomId, |
final List< String > | members, | ||
final EMValueCallBack< EMChatRoom > | callBack | ||
) |
解除禁言。
同步方法见 unMuteChatRoomMembers(String, List)。
异步方法。
chatRoomId | 聊天室 ID。 |
members | 解除禁言的用户列表。 |
callBack | 结果回调,成功时回调 EMValueCallBack#onSuccess(Object), 失败时回调 EMValueCallBack#onError(int, String)。 |
void com.hyphenate.chat.EMChatRoomManager.asyncUpdateChatRoomAnnouncement | ( | final String | chatRoomId, |
final String | announcement, | ||
final EMCallBack | callBack | ||
) |
更新聊天室公告。
同步方法见 updateChatRoomAnnouncement(String, String)。
异步方法。
chatRoomId | 聊天室 ID。 |
announcement | 更新后的公告内容。 |
callBack | 结果回调,成功时回调 EMCallBack#onSuccess(), 失败时回调 EMCallBack#onError(int, String)。 |
EMChatRoom com.hyphenate.chat.EMChatRoomManager.blockChatroomMembers | ( | String | chatRoomId, |
List< String > | members | ||
) | throws HyphenateException |
将成员添加到聊天室黑名单。
异步方法见 asyncBlockChatroomMembers(String, List, EMValueCallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
members | 要加入黑名单的成员列表。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 com.hyphenate.EMError。 |
EMChatRoom com.hyphenate.chat.EMChatRoomManager.changeChatroomDescription | ( | String | chatRoomId, |
String | newDescription | ||
) | throws HyphenateException |
修改聊天室描述信息。
异步方法见 asyncChangeChatroomDescription(String, String, EMValueCallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
newDescription | 修改后的聊天室描述。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见com.hyphenate.EMError。 |
EMChatRoom com.hyphenate.chat.EMChatRoomManager.changeChatRoomSubject | ( | String | chatRoomId, |
String | newSubject | ||
) | throws HyphenateException |
修改聊天室名称。
异步方法见 asyncChangeChatRoomSubject(String, String, EMValueCallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
newSubject | 修改后的聊天室名称。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 com.hyphenate.EMError。 |
EMChatRoom com.hyphenate.chat.EMChatRoomManager.changeOwner | ( | String | chatRoomId, |
String | newOwner | ||
) | throws HyphenateException |
转移聊天室的所有权。
异步方法见 asyncChangeOwner(String, String, EMValueCallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
newOwner | 聊天室的新所有者。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 com.hyphenate.EMError。 |
void com.hyphenate.chat.EMChatRoomManager.checkIfInChatRoomWhiteList | ( | final String | chatRoomId, |
EMValueCallBack< Boolean > | callBack | ||
) |
检查成员自己是否加入了白名单。
异步方法。
chatRoomId | 聊天室 ID。 |
callBack | 结果回调,成功时回调 EMValueCallBack#onSuccess(Object),返回是否在白名单中; 失败时回调 EMValueCallBack#onError(int, String)。 |
EMChatRoom com.hyphenate.chat.EMChatRoomManager.createChatRoom | ( | String | subject, |
String | description, | ||
String | welcomeMessage, | ||
int | maxUserCount, | ||
List< String > | members | ||
) | throws HyphenateException |
创建聊天室。
@Note 异步方法见 asyncCreateChatRoom(String, String, String, int, List, EMValueCallBack)。
同步方法,会阻塞当前线程。
subject | 聊天室名称。 |
description | 聊天室描述。 |
welcomeMessage | 邀请用户加入聊天室的消息。 |
maxUserCount | 聊天室的最大成员数。 |
members | 邀请加入聊天室的用户列表。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 com.hyphenate.EMError。 |
void com.hyphenate.chat.EMChatRoomManager.destroyChatRoom | ( | String | chatRoomId | ) | throws HyphenateException |
解散聊天室。
异步方法见 asyncDestroyChatRoom(String, EMCallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 com.hyphenate.EMError。 |
String com.hyphenate.chat.EMChatRoomManager.fetchChatRoomAnnouncement | ( | String | chatRoomId | ) | throws HyphenateException |
从服务器获取聊天室公告内容。
异步方法见 asyncFetchChatRoomAnnouncement(String, EMValueCallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 EMError。 |
List< String > com.hyphenate.chat.EMChatRoomManager.fetchChatRoomBlackList | ( | String | chatRoomId, |
int | pageNum, | ||
int | pageSize | ||
) | throws HyphenateException |
以分页的形式获取聊天室黑名单列表。
异步方法见 asyncFetchChatRoomBlackList(String, int, int, EMValueCallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
pageNum | 当前页码,从 1 开始。 |
pageSize | 每页期望获取的黑名单中的成员数。取值范围为 [1,50]。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述详见 com.hyphenate.EMError。 |
EMChatRoom com.hyphenate.chat.EMChatRoomManager.fetchChatRoomFromServer | ( | String | roomId | ) | throws HyphenateException |
从服务器获取聊天室详情。
同步方法,会阻塞当前线程。
异步方法见 asyncFetchChatRoomFromServer(String, EMValueCallBack)。
roomId | 聊天室 ID。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,错误码详见 com.hyphenate.EMError。 |
EMChatRoom com.hyphenate.chat.EMChatRoomManager.fetchChatRoomFromServer | ( | String | roomId, |
boolean | fetchMembers | ||
) | throws HyphenateException |
从服务器获取聊天室详情。
同步方法,会阻塞当前线程。
roomId | 聊天室 ID。 |
fetchMembers | 是否需要获取聊天室成员。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 com.hyphenate.EMError。 |
EMCursorResult< String > com.hyphenate.chat.EMChatRoomManager.fetchChatRoomMembers | ( | String | chatRoomId, |
String | cursor, | ||
int | pageSize | ||
) | throws HyphenateException |
获取聊天室成员列表。
异步方法见 asyncFetchChatRoomMembers(String, String, int, EMValueCallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
cursor | 从该游标位置开始取数据。首次调用 cursor 传空值,从最新数据开始获取。 |
pageSize | 每页期望获取的成员数。取值范围为 [1,50]。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 com.hyphenate.EMError。 |
Map< String, Long > com.hyphenate.chat.EMChatRoomManager.fetchChatRoomMuteList | ( | String | chatRoomId, |
int | pageNum, | ||
int | pageSize | ||
) | throws HyphenateException |
获取聊天室禁言列表。
异步方法见 asyncFetchChatRoomMuteList(String, int, int, EMValueCallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
pageNum | 当前页码,从 1 开始。 |
pageSize | 每页期望返回的禁言成员数。取值范围为 [1,50]。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 com.hyphenate.EMError。 |
void com.hyphenate.chat.EMChatRoomManager.fetchChatRoomWhiteList | ( | final String | chatRoomId, |
final EMValueCallBack< List< String > > | callBack | ||
) |
从服务器获取白名单列表。
异步方法。
chatRoomId | 聊天室 ID。 |
callBack | 结果回调,成功时回调 EMValueCallBack#onSuccess(Object), 失败时回调 EMValueCallBack#onError(int, String)。 |
EMPageResult< EMChatRoom > com.hyphenate.chat.EMChatRoomManager.fetchPublicChatRoomsFromServer | ( | int | pageNum, |
int | pageSize | ||
) | throws HyphenateException |
以分页的方式从服务器获取聊天室数据。
同步方法,会阻塞当前线程。
也可使用异步方法 asyncFetchPublicChatRoomsFromServer(int, int, EMValueCallBack)。
pageNum | 当前页码,从 1 开始。 |
pageSize | 每页期望返回的记录数。取值范围为 [1,50]。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 com.hyphenate.EMError。 |
EMCursorResult< EMChatRoom > com.hyphenate.chat.EMChatRoomManager.fetchPublicChatRoomsFromServer | ( | int | pageSize, |
String | cursor | ||
) | throws HyphenateException |
以分页的方式从服务器获取聊天室数据。
此方法为耗时操作,可以调用异步方法 asyncFetchPublicChatRoomsFromServer(int, String, EMValueCallBack)。
同步方法,会阻塞当前线程。
pageSize | 每页返回的记录数。取值范围为 [1,50]。 |
cursor | 从游标位置开始取数据。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 com.hyphenate.EMError。 |
List< EMChatRoom > com.hyphenate.chat.EMChatRoomManager.getAllChatRooms | ( | ) |
获取当前内存的聊天室列表。
(1)fetchPublicChatRoomsFromServer(int, int) 或其异步方法 asyncFetchPublicChatRoomsFromServer(int, int, EMValueCallBack) (2)fetchPublicChatRoomsFromServer(int, String) 或其异步方法 asyncFetchPublicChatRoomsFromServer(int, String, EMValueCallBack)
返回的数据是以上方法最后一次分页获取的数据。
EMChatRoom com.hyphenate.chat.EMChatRoomManager.getChatRoom | ( | String | roomId | ) |
从内存中获取聊天室。
roomId | 聊天室 ID。 |
void com.hyphenate.chat.EMChatRoomManager.joinChatRoom | ( | final String | roomId, |
final EMValueCallBack< EMChatRoom > | callback | ||
) |
加入聊天室。
异步方法。
roomId | 聊天室 ID。 |
callback | 聊天室加入结果回调。加入成功,回调 EMValueCallBack#onSuccess(Object) 并返回聊天室对象。 加入失败,回调 EMValueCallBack#onError(int, String),其中第一个参数为错误参数,第二个参数为错误信息。 |
void com.hyphenate.chat.EMChatRoomManager.leaveChatRoom | ( | final String | roomId | ) |
void com.hyphenate.chat.EMChatRoomManager.muteAllMembers | ( | final String | chatRoomId, |
final EMValueCallBack< EMChatRoom > | callBack | ||
) |
设置全员禁言。
聊天室所有者、管理员及加入白名单的用户不受影响。
异步方法。
chatRoomId | 聊天室 ID。 |
callBack | 结果回调,成功时回调 EMValueCallBack#onSuccess(Object), 失败时回调 EMValueCallBack#onError(int, String)。 |
EMChatRoom com.hyphenate.chat.EMChatRoomManager.muteChatRoomMembers | ( | String | chatRoomId, |
List< String > | muteMembers, | ||
long | duration | ||
) | throws HyphenateException |
将一组成员禁言。
异步方法见 asyncMuteChatRoomMembers(String, List, long, EMValueCallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
muteMembers | 禁言的成员列表。 |
duration | 禁言时长,单位为毫秒,如果是 -1 代表永久。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 com.hyphenate.EMError。 |
EMChatRoom com.hyphenate.chat.EMChatRoomManager.removeChatRoomAdmin | ( | String | chatRoomId, |
String | admin | ||
) | throws HyphenateException |
移除聊天室管理员权限。
异步方法见 asyncRemoveChatRoomAdmin(String, String, EMValueCallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
admin | 要移除管理员权限的 ID。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 com.hyphenate.EMError。 |
void com.hyphenate.chat.EMChatRoomManager.removeChatRoomChangeListener | ( | EMChatRoomChangeListener | listener | ) |
移除聊天室事件监听对象。
listener | 要移除的聊天室监听对象。 |
void com.hyphenate.chat.EMChatRoomManager.removeChatRoomListener | ( | EMChatRoomChangeListener | listener | ) |
移除聊天室事件监听对象。
listener | 要移除的聊天室事件监听对象。 |
EMChatRoom com.hyphenate.chat.EMChatRoomManager.removeChatRoomMembers | ( | String | chatRoomId, |
List< String > | members | ||
) | throws HyphenateException |
将成员移出聊天室。
异步方法见 asyncRemoveChatRoomMembers(String, List, EMValueCallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
members | 要移出聊天室的成员列表。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 com.hyphenate.EMError。 |
void com.hyphenate.chat.EMChatRoomManager.removeFromChatRoomWhiteList | ( | final String | chatRoomId, |
final List< String > | members, | ||
final EMValueCallBack< EMChatRoom > | callBack | ||
) |
将成员从白名单移除。
成员从白名单移除后,将受到 muteAllMembers(String, EMValueCallBack) 功能的影响。
异步方法。
chatRoomId | 聊天室 ID。 |
members | 移除白名单的用户列表。 |
callBack | 结果回调,成功时回调 EMValueCallBack#onSuccess(Object), 失败时回调 EMValueCallBack#onError(int, String)。 |
EMChatRoom com.hyphenate.chat.EMChatRoomManager.unblockChatRoomMembers | ( | String | chatRoomId, |
List< String > | members | ||
) | throws HyphenateException |
从聊天室黑名单中移除成员。
异步方法见 asyncBlockChatroomMembers(String, List, EMValueCallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
members | 要移除黑名单的成员列表。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 com.hyphenate.EMError。 |
void com.hyphenate.chat.EMChatRoomManager.unmuteAllMembers | ( | final String | chatRoomId, |
final EMValueCallBack< EMChatRoom > | callBack | ||
) |
解除所有成员的禁言状态。
异步方法。
chatRoomId | 聊天室 ID。 |
callBack | 结果回调,成功时回调 EMValueCallBack#onSuccess(Object), 失败时回调 EMValueCallBack#onError(int, String)。 |
EMChatRoom com.hyphenate.chat.EMChatRoomManager.unMuteChatRoomMembers | ( | String | chatRoomId, |
List< String > | members | ||
) | throws HyphenateException |
解除禁言。
异步方法见 asyncUnMuteChatRoomMembers(String, List, EMValueCallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
members | 解除禁言的成员列表。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 com.hyphenate.EMError。 |
void com.hyphenate.chat.EMChatRoomManager.updateChatRoomAnnouncement | ( | String | chatRoomId, |
String | announcement | ||
) | throws HyphenateException |
更新聊天室公告。
异步方法见 asyncUpdateChatRoomAnnouncement(String, String, EMCallBack)。
同步方法,会阻塞当前线程。
chatRoomId | 聊天室 ID。 |
announcement | 更新后的公告内容。 |
HyphenateException | 如果有异常会在这里抛出,包含错误码和错误描述,详见 EMError。 |