列出 XMPP 连接中的可用聊天室
Posted
技术标签:
【中文标题】列出 XMPP 连接中的可用聊天室【英文标题】:Listing available chat rooms in XMPP connection 【发布时间】:2016-10-20 14:17:16 【问题描述】:我可以知道如何使用 Smack-Java 列出特定 XMPP 连接和用户的所有可用聊天室(已创建)。也就是说,我想要的解决方案如下所示:
room1@conference.localhost.com room2@conference.localhost.com . . . 谢谢。
【问题讨论】:
【参考方案1】:您可以使用 openfire 提供的 REST api 来获取所有聊天室。 详情请参考this。
【讨论】:
【参考方案2】:如果没有插件,您基本上需要检索服务器上所有可用的服务,然后是 jid(注意:如果群聊是私人的,您将无法在列表中检索)
String groupchatHosted = "";
for (String service : MultiUserChatManager.getInstanceFor( connection ).getServiceNames();)
List<HostedRoom> hosted = MultiUserChatManager.getInstanceFor( connection ).getHostedRooms( service ));
for (HostedRoom room : hosted)
groupchatHosted += room.getJid() + " ";
您将通过所有服务获取您的字符串(或仅使用字符串列表或其他集合)
【讨论】:
以上是关于列出 XMPP 连接中的可用聊天室的主要内容,如果未能解决你的问题,请参考以下文章
Android 中的 XMPP 聊天:ChatManager 未解决