【发布时间】:2016-01-18 08:47:22
【问题描述】:
我正在使用 quickblox SDK 构建一个聊天应用程序,并且希望在用户单击并查看组内消息时清除聊天对话框(群聊中的列表项)中的未读消息计数。为此,我找到了这篇文章代码,
public void updateStatusMessageReadServer(String dialogId, MessageCache messageCache,
boolean fromPrivate) throws Exception {
StringifyArrayList<String> messagesIdsList = new StringifyArrayList<String>();
messagesIdsList.add(messageCache.getId());
QBChatService.markMessagesAsRead(dialogId, messagesIdsList);
if (fromPrivate) {
QBPrivateChat privateChat = createPrivateChatIfNotExist(messageCache.getSenderId());
privateChat.readMessage(messageCache.getId());
}
}
这里的 messagecache 是一个包含有关消息的所有详细信息的 bean 类(我必须手动设置它。根据 markMessageAsRead 函数将消息标记为已读需要 MessageId。但是,我不知道从哪里获取此 message_id( messageCache.getId()),从每个对话框(组)我得到最后一条消息发送(文本)和发件人 ID,但不是 messageId,而且似乎有一个休息 API 将组内的所有消息标记为已读,其中我需要仅传递对话框 ID。请建议如何获取消息 ID(是否必须将其添加到 messagesId 列表中?)或者我应该使用 rest API(不是 SDK 的一部分)?
【问题讨论】:
标签: android chat quickblox quickblox-android