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