【问题标题】:Get the Chat Room List from the Openfire Sever USING Asmack使用 Asmack 从 Openfire 服务器获取聊天室列表
【发布时间】:2015-02-05 20:56:48
【问题描述】:

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

谢谢

【问题讨论】:

    标签: java android chat openfire asmack


    【解决方案1】:

    使用它来获取用户加入的房间名称列表:

    Iterator roomsJoinedByUser = MultiUserChat.getJoinedRooms(connection, "abc@abc.com");
    

    使用它来获取所有托管房间的列表:

    Collection<HostedRoom> rooms = MultiUserChat.getHostedRooms(connection, "service_name");
    

    【讨论】:

    • 我需要所有的公共聊天室
    【解决方案2】:

    这是我的代码,希望对你有帮助

      Collection<HostedRoom> rooms = MultiUserChat.getHostedRooms(connection, "conference.nubes-pc-1");
    
                if (!rooms.isEmpty()){
                    for (HostedRoom room : rooms) {
                        Log.d("yo", room.getName()+" "+ room.getJid());
                    }
                }

    【讨论】:

      【解决方案3】:

      如您所见,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;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-11-27
        • 1970-01-01
        • 2011-11-06
        • 1970-01-01
        • 1970-01-01
        • 2015-03-03
        • 2013-01-10
        相关资源
        最近更新 更多