首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Asmack未加载VCard

Asmack未加载VCard
EN

Stack Overflow用户
提问于 2011-12-02 19:31:29
回答 1查看 1.7K关注 0票数 1

我正在使用Asmack的二进制版本(我将尽快构建它,因为我在第一次尝试时遇到了问题)。我还设置了自己的ejabberd服务器。

当我试图加载一些联系人VCard时,服务器返回了信息,但是Asmack似乎不喜欢它(或者无法解析它)。

这是我在调试模式下看到的:

代码语言:javascript
复制
<iq from='user@domain' to='admin@domain/Smack' id='I17sI-4' type='result'>
<vCard xmlns='vcard-temp' prodid='-//HandGen//NONSGML vGen v1.0//EN' version='2.0'>
    <FN>Full Name</FN>
    <N>
        <FAMILY>Surname</FAMILY>
        <GIVEN>Nick</GIVEN>
    </N>
    <NICKNAME>Nickname</NICKNAME>
    <URL>http://google.com</URL>
    <ADR>
        <LOCALITY>lanta</LOCALITY>
        <REGION>krabi</REGION>
        <PCODE>81150</PCODE>
        <CTRY>thailand</CTRY>
    </ADR>
    <EMAIL>
        <USERID>user@domain.com</USERID>
    </EMAIL>
</vCard>
</iq>

但当我这么做的时候

代码语言:javascript
复制
VCard card = new VCard();
card.load(xmppConn, "user@domain");

所有信息都设置为null,当我试图通过调用VCard.toXML()方法查看XML时,得到的结果是一个空的XML,如下所示

代码语言:javascript
复制
<iq id="I17sI-4" to="user@domain" type="get"><vCard xmlns='vcard-temp'/></iq>

所以有没有人知道我做错了什么,或者这个二进制版本无法解析从服务器收到的VCard?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-03 23:58:58

在加载vCard之前添加行:ProviderManager.getInstance().addIQProvider("vCard", "vcard-temp", new VCardProvider());

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8355684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档