Java 使用Asmack从Openfire服务器获取聊天室列表

Java 使用Asmack从Openfire服务器获取聊天室列表,java,android,chat,openfire,asmack,Java,Android,Chat,Openfire,Asmack,任何人都知道如何使用Asmack库从openfireServer获取聊天室列表。请帮助我 谢谢使用此选项可获取用户已加入的房间名称列表: Iterator roomsJoinedByUser = MultiUserChat.getJoinedRooms(connection, "abc@abc.com"); 使用此选项可获取所有托管房间的列表: Collection<HostedRoom> rooms = MultiUserChat.getHostedRooms(connectio

任何人都知道如何使用Asmack库从openfireServer获取聊天室列表。请帮助我


谢谢

使用此选项可获取用户已加入的房间名称列表:

Iterator roomsJoinedByUser = MultiUserChat.getJoinedRooms(connection, "abc@abc.com");
使用此选项可获取所有托管房间的列表:

Collection<HostedRoom> rooms = MultiUserChat.getHostedRooms(connection, "service_name");
Collection rooms=MultiUserChat.getHostedRooms(连接,“服务名称”);

这是我的代码,希望能有所帮助

Collection rooms=MultiUserChat.getHostedRooms(连接,“conference.nubes-pc-1”);
如果(!rooms.isEmpty()){
住宿(客房:客房){
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;
}
公共静态列表getHostRooms(XMPPConnection XMPPConnection){
List roominfos=new ArrayList();
试一试{
新的ServiceDiscoveryManager(xmppConnection);
收集主机室=
MultiUserChat.getHostedRooms(xmppConnection,xmppConnection.getServiceName());
用于(HostedRoom入口:hostrooms){
roominfos.add(条目);
Log.i(“房间”,“名称:”+entry.getName()+“-ID:”+entry.getJid());
}
Log.i(“房间”,“编号:+roominfos.size());
}捕获(XMPPException e){
Log.e(“getHostRooms”,e.getMessage());
e、 printStackTrace();
}
返回房间信息;
}

我需要所有的公共聊天室