2012-05-04 3 views

答えて

2

どのリストですか?

MUCの入居者、つまりMUCに参加している場合にのみgetOccupants()に電話をかけることができます。

+0

私はgetOc​​cupants()を呼び出していますが、常に占有者リストを返すわけではありません。私の問題によると、私はこの質問を1つ質問しました。これは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; 
}