加入房间时,我总是收到群聊历史记录。更具体地说,每当我加入一个群组时,我都会收到我发送给该群组的最后一条消息(只有一条消息)。我尝试了以下方法来禁用它..
- 根据文档建议,我在加入房间时已将值 'maxchars='0'' 与初始存在的历史参数一起传递。
- 在 web 管理页面转到群聊部分,然后群聊设置 -> 群聊服务属性 -> 历史设置 -> 不显示历史
尽管我已经尝试了所有这些可能的方式,但在加入房间时仍然会收到一条历史消息。请注意,我在加入时收到的消息包含延迟扩展。如果重要的话。
尝试这个..
MultiUserChat muc = new MultiUserChat(mConnection, room_name);
Log.d(TAG, "JOINING => " + room_name);
DiscussionHistory history = new DiscussionHistory();
history.setMaxStanzas(0);
muc.join(mNickName, null, history,SmackConfiguration.getDefaultPacketReplyTimeout());
如果得到“组是异步的”这个消息,那么它就像你加入组的通知一样。只需将 if 条件放在群聊侦听器中即可。