如何使用 asmack 设置头像?
Posted
技术标签:
【中文标题】如何使用 asmack 设置头像?【英文标题】:How to using asmack set avatar? 【发布时间】:2013-10-17 02:55:16 【问题描述】:我正在编写示例xmpp客户端,需要设置帐户用户头像。
按照 ignite 站点中的示例,我可以登录到 xmpp 服务器,但无法使用 ejabberd 服务器端设置 useravatar。我也尝试在核心中使用带有 asmack 的 beem(开源 xmpp 项目),它也无法设置头像。
请帮忙,谢谢你的建议
ProviderManager.getInstance().addIQProvider("vCard", "vcard-temp", new VCardProvider());
VCard vCard = new VCard();
try
vCard.load(connection);
vCard.setAvatar(byteArray);
vCard.save(connection);
catch (XMPPException e1)
// TODO Auto-generated catch block
e1.printStackTrace();
【问题讨论】:
请给我们一些代码 @Flow 我已经解决了图像尺寸太大的问题,但现在我遇到的问题是新头像没有在我的好友客户端中显示更改。有什么建议吗? 您使用的是哪个版本的 aSmack? 感谢@Flow,我发现根据xmpp.org/extensions/xep-0153.html,必须发送带有扩展名的存在包含照片哈希才能发布 【参考方案1】:XEP 文档的问题在于它只包含消息数据信息,而不包含如何实现它们。例如,要从 vCard 中获取姓氏,我需要输入:
String lastname = vCard.getlastname(); // just example
我在 xep 文档中的任何地方都看不到此信息。因此,我认为答案应该停止要求提问者查看文档,因为在大多数情况下,他们已经看过它们但没有找到答案,因此转向了 SO。但是,如果有任何文档说明如何实现 smack 库,引用将很有用。谢谢!祝编程愉快!
【讨论】:
以上是关于如何使用 asmack 设置头像?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 xmpp aSmack android 中设置个人资料图片?
asmack/Smack 4.1 on android 设置