0

私はASmackに取り組んでいます。asmackを使用してチャットルームのユーザーリストを取得することは実行可能ですか? http://www.igniterealtime.org/builds/smack/docs/latest/documentation/extensions/muc.html このリストは表示されていません。アイデアを教えてください。

4

3 に答える 3

2

どのリスト?

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

于 2012-05-05T10:26:44.333 に答える
1

getOc​​cupants()は私には機能しません。したがって、以下のコードを試すことができます。

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

     } catch (XMPPException e) {
       e.printStackTrace();                
     }
于 2014-01-22T18:18:28.627 に答える
0

パラメータをMultiUserChatオブジェクトとして渡すSimpleFollowingメソッドによって、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;
}
于 2015-04-11T13:09:59.017 に答える