私はASmackに取り組んでいます。 asmackを使用してチャットルームのユーザーリストを取得することは有効ですか? http://www.igniterealtime.org/builds/smack/docs/latest/documentation/extensions/muc.html このリストは表示されていません。どうか考えてください。MultiUserChatチャットルームのユーザーを取得しますか?
0
A
答えて
2
どのリストですか?
MUCの入居者、つまりMUCに参加している場合にのみgetOccupants()
に電話をかけることができます。
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を使用していますが、getOccupants()によって占有者を取得できません。 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;
}
私はgetOccupants()を呼び出していますが、常に占有者リストを返すわけではありません。私の問題によると、私はこの質問を1つ質問しました。これはhttp://stackoverflow.com/questions/16335872/how-to-get-list-of-occupants-from-room-in-multiuserchatで、私に教えてくださいこれを解決する。 –