如何从Openfire服务器获取所有用户创建的聊天室列表使用Asmack
问题描述:
我正在创建多用户可以相互通信的群聊应用程序。 我无法理解如何使用smack API从openfire服务器获取所有用户创建的聊天室。如何从Openfire服务器获取所有用户创建的聊天室列表使用Asmack
答
第一步:
检查服务在服务器上可用。
每个服务可以承载0个或更多的群聊。 默认情况下,Openfire只注册一项服务,默认名称是会议。
List<String> services = MultiUserChatManager.getInstanceFor(connection).getServiceNames();
第二步:
检查所有的托管小组聊天,并将结果作为你的需要。 例如:
Map<String, List<HostedRoom>> chatroomInServices = new HashMap<String,List<HostedRoom>)(services.size());
for (String service : services)
{
chatroomInServices.put(service, MultiUserChatManager.getInstanceFor(connection).getHostedRooms(service ));
}
for (List<HostedRoom> hosted: chatroomInServices.values())
{
for (HostedRoom room : hosted)
{
room.getJid(); // [email protected]
}
}
可能是你需要存储也各roomJid