聊天室

6.1 获取XHChatroomManager实例,添加聊天室监听

XHChatroomManager chatroomManager = XHClient.getInstance().getChatroomManager();
chatroomManager.addListener(new IXHChatroomManagerListener() {
@Override
public void onMembersUpdated(int number) {
//成员数变化
}

@Override
public void onSelfKicked() {
//自己被踢出聊天室
}

@Override
public void onSelfMuted(int seconds) {
//自己被禁言
}

@Override
public void onClosed() {
//聊天室已关闭
}

@Override
public void onReceivedMessage(XHIMMessage message) {
//收到聊天室消息
}

@Override
public void onReceivePrivateMessage(XHIMMessage message) {
//收到聊天室的私信消息(仅自己可见)
}
});

6.2 XHChatroomManager API 说明

/**
* 添加监听
* @param chatManagerListener 接收聊天室的相关事件
*/
void addListener(IXHChatroomManagerListener chatManagerListener);

/**
* 创建聊天室
* @param chatroomName 聊天室名字
* @param type 聊天室类型
* XHChatroomTypePublic :无需登录验证
* XHChatroomTypeLogin :需要登录验证
* @param callback 结果回调
*/
void createChatroom(String chatroomName, XHConstants.XHChatroomType type, IXHResultCallback callback);

/**
* 删除聊天室
* @param chatroomID 删除的聊天室ID
* @param callback 结果回调
*/
void deleteChatroom(String chatroomID,IXHResultCallback callback);

/**
* 加入聊天室
* @param chatroomID 要加入的聊天室ID
* @param callback 结果回调
*/
void joinChatroom(String chatroomID,IXHResultCallback callback);

/**
* 退出聊天室
* @param chatroomID 要退出的聊天室ID
* @param callback 结果回调
*/
void exitChatroom(String chatroomID,IXHResultCallback callback);

/**
* 禁言聊天室内的用户
* @param chatroomID 所在聊天室ID
* @param memberID 被禁言的用户ID
* @param muteSeconds 禁言时长(单位:秒)
* @param callback 结果回调
*/
void muteMember(String chatroomID,String memberID, int muteSeconds,IXHResultCallback callback);

/**
* 解除用户的禁言
* @param chatroomID 所在聊天室ID
* @param memberID 解除禁言的用户ID
* @param callback 结果回调
*/
void unMuteMember(String chatroomID,String memberID,IXHResultCallback callback);

/**
* 从聊天室踢出用户
* @param chatroomID 所在聊天室ID
* @param memberID 踢出的用户ID
* @param callback 结果回调
*/
void kickMember(String chatroomID, String memberID, IXHResultCallback callback);

/**
* 发送聊天室内消息
* @param message 发送的消息内容
* @param callback 结果回调
* @return 返回发送的消息对象
*/
XHIMMessage sendMessage(String message, IXHResultCallback callback);

/**
* 发送聊天室内私密消息
* 私密消息只有目标用户可以收到
* @param message 发送的消息内容
* @param toID 目标用户ID
* @param callback 结果回调
* @return 返回发送的消息对象
*/
XHIMMessage sendPrivateMessage(String message , String toID, IXHResultCallback callback);

/**(仅限私有部署时使用)
* 保存到列表
* @param userId 用户Id
* @param type 列表类型
* @param chatroomId
* @param data
* @param callback
*/
void saveToList(String userId,int type,String chatroomId,String data,IXHResultCallback callback);

/**(仅限私有部署时使用)
* 查询列表
* @param userId 用户Id
* @param type 列表类型
* @param callback 结果回调
*/
void queryList(String userId,String type, IXHResultCallback callback);

/**(仅限私有部署时使用)
* 从列表删除
* @param userId 用户Id
* @param type 列表类型
* @param chatroomId 聊天室ID
* @param callback 结果回调
*/
void deleteFromList(String userId,int type, String chatroomId, IXHResultCallback callback);