XMPP找不到一个';s自己的别名/昵称

XMPP找不到一个';s自己的别名/昵称,xmpp,smack,asmack,Xmpp,Smack,Asmack,我正在尝试检索自己的别名(即登录用户的别名),但尚未找到方法。我可以使用以下方法获取所有联系人的别名: <iq from='own_jid' to='own_jid' type='get'> <query xmlns='jabber:iq:roster'/> </iq> 结果服务器回复将包括给定用户的别名和JID。然而,我无法将自己加入名册,也找不到任何其他方式来查询我自己的别名 非常感谢您的帮助,谢谢 connection.getUser();

我正在尝试检索自己的别名(即登录用户的别名),但尚未找到方法。我可以使用以下方法获取所有联系人的别名:

<iq from='own_jid' to='own_jid' type='get'>
    <query xmlns='jabber:iq:roster'/>
</iq>

结果服务器回复将包括给定用户的别名和JID。然而,我无法将自己加入名册,也找不到任何其他方式来查询我自己的别名

非常感谢您的帮助,谢谢

connection.getUser();
这将返回用户完整jid

绰号

VCard vCard = new VCard(); 
vCard.load(mConnection); 
 String nickname=vCard.getNickName(); 
本地客户没有“名册联系人姓名”,也称为“句柄”。我想这就是你所说的“别名/昵称”。对他来说,拥有一个是毫无用处的,因为其他实体无论如何都看不到它


只有“XEP-172:用户昵称”样式的昵称对其他实体可见。

使用AccountManager类检索自用户的所有信息

这些信息在注册时提供

请参阅:

i、 e.检索自己的用户昵称

AccountManager ac=新的AccountManager(连接)

字符串user昵称=ac.getAccountAttribute(“名称”)

如果在注册新帐户时提供了信息,您还可以获得以下属性


姓名、第一名、最后一名、电子邮件等

感谢您的回答,但正如标题所示,我想要的是用户别名/昵称,而不是JIDI已编辑的答案,如果您正在保存vcardI,这将起作用。我尝试了VCard路线,但遗憾的是昵称字段为空。但是,我确信有某种方法可以检索信息,因为有另一个客户端连接到同一个服务器,登录到同一个帐户,可以检索别名。不过,谢谢你的建议。那么你不会在vCard中保存你的昵称是的,所有信息都设置在服务器端,我无法控制保存内容的内容和位置。我所知道的是,除了VCard之外,还有一些方法可以找回自己的昵称,但我不知道如何。