2013-11-21 1 views
0

저는 3-4 개의 지속 회의실을 추가하고 앱 시작 시간에 항상 회의실에 연결하려고했지만 북마크 된 모든 방을 얻으려고하면 방이 한 방만 반환됩니다. 그 방을 마지막으로 추가했습니다.(a) Smack으로 PrivateDataManager를 사용할 때 모든 BookMarkedRooms를 가져올 수 없습니다. 항상 마지막 북마크 만 반환합니다.

muc = new MultiMUC(connection, "[email protected]"); 
     try { 
    muc.create("g2"); 
    Form form = muc.getConfigurationForm(); 
    Form submitForm = form.createAnswerForm();     
    FormField ff = new FormField("muc#roomconfig_persistentroom"); 
      ff.setType(FormField.TYPE_BOOLEAN); 
      ff.addValue("0"); 
      ff.setRequired(true); 
      ff.setLabel("Make Room Persistent?"); 
      submitForm.setAnswer("muc#roomconfig_persistentroom", true);    
      List owners = new ArrayList();     
      owners.add("[email protected]"); 
      submitForm.setAnswer("muc#roomconfig_roomowners", owners); 
      muc.sendConfigurationForm(submitForm); 
      Bookmarks bookmarks = new Bookmarks(); 
      BookmarkedConferenceImpl conference = new BookmarkedConferenceImpl("[email protected]"); 
      conference.setName("My Favorite Room"); 
      conference.setAutoJoin(true);    
      bookmarks.addBookmarkedConference(conference); 

       try 
       { 

       PrivateDataManager manager = new PrivateDataManager(connection,"[email protected]"); 
       manager.setPrivateData(bookmarks);   
       } 
       catch (Exception e) { } 

그러나 나는 모든 북마크 된 룸을 얻으려고 시도 할 때 마지막으로 추가 된 코미디 션 룸을 반환합니다.

BookmarkManager bm = BookmarkManager.getBookmarkManager(connection); 
       Collection<BookmarkedConference> rooms=bm.getBookmarkedConferences() ; 
      for(BookmarkedConference room:rooms){     
        MultiUserChat muc = new MultiMUC(connection, room.getJid()); 
        muc.join(uid);    
        muc.addMessageListener(listener); 

        } 

답변

관련 문제