本帖最后由 jinghuazhi 于 2013-12-18 14:46:31 编辑

解决方案 »

  1.   

    ServiceDiscoveryManager sdm = ServiceDiscoveryManager.getInstanceFor(mConnection); 
    sdm.addFeature("http://jabber.org/protocol/disco#info");
    sdm.addFeature("http://jabber.org/protocol/disco#item");
    //对于ServiceDiscoveryManager,需要加上muc协议
    sdm.addFeature("http://jabber.org/protocol/muc");
      

  2.   

    求问,你加上这些之后真的获得群组了吗,另求你的asmack包,谢谢,急
      

  3.   

    public List<MucRoom> getAllHostedRooms(){
    List<MucRoom> rooms = new ArrayList<MucRoom>();
    try {
    Collection<HostedRoom> hrooms = MultiUserChat.getHostedRooms(con, con.getServiceName());
    if(!hrooms.isEmpty()){
    for(HostedRoom r:hrooms){
    RoomInfo roominfo = MultiUserChat.getRoomInfo(con, r.getJid());
    SLog.i("会议室Info", roominfo.toString());
    MucRoom mr = new MucRoom();
    mr.setDescription(roominfo.getDescription());
    mr.setName(r.getName());
    mr.setJid(r.getJid());
    mr.setOccupants(roominfo.getOccupantsCount());
    mr.setSubject(roominfo.getSubject());
    rooms.add(mr);
    }
    }
    } catch (XMPPException e) {
    SLog.e(tag, " 获取Hosted Rooms 出错");
    SLog.e(tag, Log.getStackTraceString(e));
    }
    return rooms;数据返回正常,可以查询所有 的房间名称
    -----------------------------------------------------------------------------------------------------------------------------------------------------
    //判断用户是否支持Multi-User聊天协议    
            //注:需要加上资源标识符    
            boolean supports = MultiUserChat.isServiceEnabled(con, con.getUser());      
             //获取某用户所加入的聊天室    
            if(supports) { 
             Iterator<String> jrs = MultiUserChat.getJoinedRooms(con, con.getUser());
      }
    supports返回总是false,楼上是怎么解决这个问题的
      

  4.   

    我这边  supports返回也总是false,  楼上是解决这个问题了吗