【发布时间】:2015-02-05 20:56:48
【问题描述】:
任何人都知道如何使用 Asmack 库从 openfireServer 获取聊天室列表。帮助我。
谢谢
【问题讨论】:
标签: java android chat openfire asmack
任何人都知道如何使用 Asmack 库从 openfireServer 获取聊天室列表。帮助我。
谢谢
【问题讨论】:
标签: java android chat openfire asmack
使用它来获取用户加入的房间名称列表:
Iterator roomsJoinedByUser = MultiUserChat.getJoinedRooms(connection, "abc@abc.com");
使用它来获取所有托管房间的列表:
Collection<HostedRoom> rooms = MultiUserChat.getHostedRooms(connection, "service_name");
【讨论】:
这是我的代码,希望对你有帮助
Collection<HostedRoom> rooms = MultiUserChat.getHostedRooms(connection, "conference.nubes-pc-1");
if (!rooms.isEmpty()){
for (HostedRoom room : rooms) {
Log.d("yo", room.getName()+" "+ room.getJid());
}
}
【讨论】:
如您所见,MultiUserChat.getHostedRooms 可以帮助您:
public static List<HostedRoom> getHostRooms(XMPPConnection xmppConnection){
List<HostedRoom> roominfos = new ArrayList<HostedRoom>();
try {
new ServiceDiscoveryManager(xmppConnection);
Collection<HostedRoom> hostrooms =
MultiUserChat.getHostedRooms(xmppConnection,xmppConnection.getServiceName());
for (HostedRoom entry : hostrooms) {
roominfos.add(entry);
Log.i("room", "name:" + entry.getName() + " - ID:" + entry.getJid());
}
Log.i("room", "number:" + roominfos.size());
} catch (XMPPException e) {
Log.e("getHostRooms",e.getMessage());
e.printStackTrace();
}
return roominfos;
}
【讨论】: