我一辈子都看不到如何将实体功能扩展附加到 Smack 数据包。就我而言,我已经准备好数据了,我只需要把它放在 Packet 类中。
我是否错过了 API 中的某些内容?我可以将<c/>
元素添加到 smack 数据包中吗?
有一个补丁添加了实体功能支持。Smack 中的集成被跟踪为SMACK-361,补丁可以在论坛帖子中找到。
该补丁包含在我的 smack fork中(由aSmack使用)。在 CapsExtension 的帮助下,该<c/>
元素被添加到ServiceDiscoveryManager.java:258中。我仍在caps
分行的 Smack 中致力于实体上限支持,并希望在未来的某个时间能够实现它。git diff upstream caps
克隆存储库后,您可以使用 git 查看当前补丁。如果您有任何建议,请随时与我联系。
Smack 似乎不支持开箱即用的此功能。你必须自己实现它。定义一个实现PacketExtension的类,在发送您的出席信息时创建一个新的实例并使用addExtension附加它。