2010-03-21 3 views
1

J'essaie d'obtenir l'ID Jabber pour un pseudo dans un chat multi-utilisateur, mais le code suivant renvoie uniquement null:Comment obtenir l'ID Jabber pour un utilisateur multi chatter nick

class JabberMUCMessageListenerAdapter implements PacketListener { 

    private final MultiUserChat muc; 

    public JabberMUCMessageListenerAdapter(MultiUserChat muc) { 
     this.muc = muc; 
    } 

    @Override 
    public void processPacket(Packet p) { 
     if (p instanceof Message) { 

      final Message msg = (Message) p; 

      String jid = muc.getOccupant(msg.getFrom()).getJid(); // returns null 

      ... 
     } 
    } 
} 

Est-ce que quelqu'un savoir, ce que je fais mal?

+0

Vous voulez obtenir * vrai * JabberID ou "local" (par exemple * [email protected]/nick*)? –

+0

Je pense que c'est le 'vrai' ID (qu'est-ce qu'un ID 'local')? En fait, j'ai découvert ce que je faisais mal: la salle de conférence a été configurée ainsi, que seuls les modérateurs pouvaient voir l'identité réelle. Je ne sais pas si c'est synonyme d'une salle de conférence «anonyme». – Kutzi

Répondre

1
+1

"Si cette information a été extraite d'une présence et que la pièce est semi ou complètement anonyme alors la réponse sera nulle." La 1ère partie est vraie, mais je ne pense pas que la pièce soit anonyme (comment la trouver?) En utilisant Pidgin je peux accéder au JID, donc il doit y avoir un moyen d'utiliser Smack, aussi, n'est-ce pas? – Kutzi

Questions connexes