Android 从组中获取加入的成员列表,xmpp;

Android 从组中获取加入的成员列表,xmpp;,android,xmpp,smack,groupchat,Android,Xmpp,Smack,Groupchat,我正试图根据roomJID从特定组中获取加入的成员列表,存在两种方法,如下所述: MultiUserChat.getMembers();它返回XMPPError:probled-auth MultiUserChat.getAccounters();它只返回自我信息 MultiUserChat.getParticipants();它返回XMPPError:probled-auth 但是没有一个工作得到异常XMPPError:planded-auth,似乎有一些隐私问题,我无法弄清楚 注:JID

我正试图根据room
JID
从特定组中获取加入的成员列表,存在两种方法,如下所述:

  • MultiUserChat.getMembers();它返回
    XMPPError:probled-auth
  • MultiUserChat.getAccounters();它只返回自我信息
  • MultiUserChat.getParticipants();它返回
    XMPPError:probled-auth
但是没有一个工作得到异常
XMPPError:planded-auth
,似乎有一些隐私问题,我无法弄清楚

注:JID表格中的房间名称“roomName@service“

使用以下命令:
multiUserChatManager=multiUserChatManager.getInstanceFor(XMPPConnection);
MultiUserChat muc=multiUserChatManager.getMultiUserChat(“dopee@conference.104.155.155.5");
试一试{
List admin=muc.getAdmins();
System.out.println(“Admin====>>”+Admin);
List userlist=muc.getOccumers();
List member=muc.getMembers();
List memBer=muc.getParticipants();
List owner=muc.getowner();
System.out.println(“userlist====>>>”+userlist.toString());
System.out.println(“usercount====>>>”+muc.getoccountscont());
}捕获(SmackException.NoResponseException e){
e、 printStackTrace();
}捕获(XMPPException.XMPPErrorException){
e、 printStackTrace();
}捕捉(SmackException.NotConnectedException e){
e、 printStackTrace();
}

根据xmpp文件室/组应为非匿名的,以检索所有成员列表。所以,请尝试在服务器端的.yml或配置文件中设置anonymous=false,或者您也可以在创建文件室时在配置中设置它


请不要说从属关系至少应该是成员来检索成员列表

我相信GetOccumbers()是正确的,但它应该返回的不仅仅是您自己(当然假设房间里还有其他人…)是的,您是正确的,但我也很惊讶,
是否向
GetOccumers()
播送:主持人/参与者/访客的房间内状态效果?是的,它将只返回当前在房间内的人。任何不正常的人都不会被遣返。要获取脱机成员,您可以使用getMembers()和其他工具,但根据服务器及其配置,您可能没有查看这些列表的权限。但它无法正常工作,它只返回自身详细信息,而不是所有已加入的成员列表。
Use this :

multiUserChatManager = MultiUserChatManager.getInstanceFor(XMPPConnection);
MultiUserChat muc =multiUserChatManager.getMultiUserChat("dopee@conference.104.155.155.5");
        try {
            List<Affiliate> admin=muc.getAdmins();
            System.out.println("Admin=====>>>"+admin);
            List<String> userlist=muc.getOccupants();
            List<Affiliate> member=muc.getMembers();
            List<Occupant> memBer=muc.getParticipants();
            List<Affiliate> owner=muc.getOwners();

            System.out.println("userlist=====>>>"+ userlist.toString());
            System.out.println("usercount=====>>>"+   muc.getOccupantsCount());
        } catch (SmackException.NoResponseException e) {
            e.printStackTrace();
        } catch (XMPPException.XMPPErrorException e) {
            e.printStackTrace();
        } catch (SmackException.NotConnectedException e) {
            e.printStackTrace();
        }