如何从 aSmack 迁移到 Smack

Posted

技术标签:

【中文标题】如何从 aSmack 迁移到 Smack【英文标题】:How to migrate from aSmack to Smack 【发布时间】:2015-07-17 05:14:14 【问题描述】:

在我的安卓应用中,

    如何在 Smack 4.1 中设置消息标签的自定义属性?..我试图设置 xmlns 但没有这样的方法。有没有其他选择?

    另外,帮助我学习 Smack 4.1 中的 CarbonManager 类。从 asmack 迁移到 Smack 4.1 时,Carbon Manager 类显示错误。

【问题讨论】:

【参考方案1】:

对于您的第一个问题,smack 有一个名为 JivePropertiesManager 的类,其中包含一个静态方法 addProperty,您可以使用它来做您想做的事情。

public static void addProperty(Stanza packet, String name, Object value) 
    JivePropertiesExtension jpe = (JivePropertiesExtension) packet.getExtension(JivePropertiesExtension.NAMESPACE);
    if (jpe == null) 
       jpe = new JivePropertiesExtension();
       packet.addExtension(jpe);
    
    jpe.setProperty(name, value);

该方法可以为 SMACK 的 Stanza(消息扩展它)添加属性。

对于您的第二个问题,请发布您的代码或有关错误的更多详细信息。

【讨论】:

以上是关于如何从 aSmack 迁移到 Smack的主要内容,如果未能解决你的问题,请参考以下文章

asmack/Smack 4.1 on android 设置

如何在 xmpp smack 或 asmack 中将文件发送给离线用户?

如何将receiptid映射到smack中发送的消息

Stanza for Smack 4.1.4 中的自定义扩展元素

如何在 Android (2014) 中使用 aSmack XMPP 库实现 facebook 聊天? [关闭]

如何在 Smack 中启用 XEP-0199?