2012-05-04 113 views

回答

2

哪個列表?

如果您是MUC的居住者,換句話說,如果您已加入MUC,您只能致電getOccupants()

+0

我打電話給getOc​​cupants(),但它並沒有全部返回佔用者列表。根據我的問題,我問了一個問題,看看這個http://stackoverflow.com/questions/16335872/how-to-get-list-of-occupants-from-room-in-multiuserchat,並告訴我如何解決此問題。 –

1

getOccupants()不適合我。所以,你可以試試下面的代碼:

try {   
     ServiceDiscoveryManager discoManager = ServiceDiscoveryManager.getInstanceFor(xmppConn); 
     DiscoverItems discoItems = discoManager.discoverItems(roomJID); 
     Iterator<DiscoverItems.Item> occupants = discoItems.getItems(); 

    } catch (XMPPException e) { 
     e.printStackTrace();     
    } 
+0

我正在使用4.1.0 rc1,我無法通過getOc​​cupants()獲得佔有者。 ServiceDiscoveryManager適合我。 – Hitendra

0

我能夠通過將參數作爲MultiUserChat對象簡單下面的方法來獲取列表用戶可以在聊天室的XMPP。

public static List<String> findMulitUser(MultiUserChat muc) { 
    List<String> listUser = new ArrayList<String>(); 
    Iterator<String> it = muc.getOccupants(); 
    // Traverse the chat room name 
    while (it.hasNext()) { 
     // Chat room members name 
     String name = StringUtils.parseResource(it.next()); 
     System.out.println("Name Of Occupants------>" + name); 
     listUser.add(name); 
    } 
    return listUser; 
}