0

我添加了 3-4 个永久会议室,并尝试在应用程序启动时连接任何会议室,但是当我尝试获取所有已添加书签的房间时,它只会返回一个房间。那个房间是上次添加的。

 muc = new MultiMUC(connection, "g2@conference.msngr.com");
        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("userdev@msngr.com");  
          submitForm.setAnswer("muc#roomconfig_roomowners", owners);
          muc.sendConfigurationForm(submitForm);
             Bookmarks bookmarks = new Bookmarks();
             BookmarkedConferenceImpl conference = new BookmarkedConferenceImpl("g2@conference.msngr.com");
             conference.setName("My Favorite Room");
             conference.setAutoJoin(true);            
             bookmarks.addBookmarkedConference(conference);  

                 try
                 {

                 PrivateDataManager manager = new PrivateDataManager(connection,"userdev@msngr.com");
                 manager.setPrivateData(bookmarks);          
                 }
                 catch (Exception e) {  }

但是当我尝试获取所有 BookMarkedRoom 时,它会返回最后一个添加的会议室。

 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);

                    }
4

1 回答 1

0

您似乎总是用创建的最新 MUC 覆盖书签 PrivateData。

不要直接使用 PrivateDataManager,而是使用专门的BookmarkManager来完成这项工作。BookmarkManager 提供了三种方法,可以方便地为您完成这项工作

于 2013-11-21T15:25:52.097 回答