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之外,还有一些方法可以找回自己的昵称,但我不知道如何。