【问题标题】:How to using asmack set avatar?如何使用 asmack 设置头像?
【发布时间】: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,必须发送带有扩展名的存在包含照片哈希才能发布

标签: android xmpp smack ejabberd asmack


【解决方案1】:

XEP 文档的问题在于它只包含消息数据信息,而不包含如何实现它们。例如,要从 vCard 中获取姓氏,我需要输入:

String lastname = vCard.getlastname(); // just example

我在 xep 文档中的任何地方都看不到此信息。因此,我认为答案应该停止要求提问者查看文档,因为在大多数情况下,他们已经看过它们但没有找到答案,因此转向了 SO。但是,如果有任何文档说明如何实现 smack 库,引用将很有用。谢谢!祝编程愉快!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-16
    • 2016-03-06
    • 1970-01-01
    相关资源
    最近更新 更多