如何将自定义字段放入 XMPP vCard Android/SMACK
Posted
技术标签:
【中文标题】如何将自定义字段放入 XMPP vCard Android/SMACK【英文标题】:How to put Custom fields to XMPP vCard Android/SMACK 【发布时间】:2014-11-13 22:58:00 【问题描述】:我目前正在开发一个聊天应用程序,我正在使用以下 Vcard 来存储用户信息。
public void run()
VCard vcard = new VCard();
vcard.setJabberId(xmppConnection.getUser());
vcard.setNickName(user.getChatId());
vcard.setFirstName(user.getUsername());
vcard.setPhoneHome("CELL", user.getMobileNo());
除了上述值之外,我还想向 Vcard 添加新字段,例如
vcard.setNotificationType(user.getNotType())
vcard.setAlerts(user.getAlerts())
这可能吗?如果是这样,请帮助我如何做到这一点。 谢谢。
【问题讨论】:
小心,您似乎想将配置首选项存储在 Vcard 中。 VCard 是公开的,可以被其他人检索。 这不是问题,只要我能保存这些数据。有可能吗? 是的,这是可能的,但是您使用的功能与预期的需求完全不同。为什么不使用 XMPP 私有存储? xmpp.org/extensions/xep-0049.html 但简单性就在那里。我们可以申请电子名片,轻松保存电子名片并获取常用字段,如姓名、ID、电话号码。等等。我不是说你的建议不好,但这样更简单吧? 【参考方案1】:我知道这是一个老问题,但也许有人需要答案..
您可以使用vCard.setField(String field, String value)
例如:
vcard.setField("NotificationType", user.getNotType());
然后把它拿回来:
vcard.getField("NotificationType");
【讨论】:
很高兴我能帮上忙 ^_^以上是关于如何将自定义字段放入 XMPP vCard Android/SMACK的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 asmack 库发送和收听自定义 xmpp 存在数据包
如何通过 API 将自定义字段添加到 SalesForce 中的布局部分