Android-Asmack无法加载VCard

Android-Asmack无法加载VCard,第1张

概述我正在使用Asmack的二进制发行版(如果我第一次尝试遇到问题,我将在一段时间内尽快构建它).我还设置了自己的ejabberd服务器.当我尝试加载某些联系人VCard时,服务器返回信息,但Asmack似乎不喜欢它(或无法解析它).这是我在调试模式下可以看到的内容:<iqfrom='user@domain'to='ad

我正在使用Asmack的二进制发行版(如果我第一次尝试遇到问题,我将在一段时间内尽快构建它).我还设置了自己的ejabberd服务器.

当我尝试加载某些联系人VCard时,服务器返回信息,但Asmack似乎不喜欢它(或无法解析它).

这是我在调试模式下可以看到的内容:

<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>

但是当我这样做

VCard card = new VCard();card.load(xmppConn, "user@domain");

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

<iq ID="I17sI-4" to="user@domain" type="get"><vCard xmlns='vcard-temp'/></iq>

因此,有人知道我在做什么错吗,或者此二进制版本无法解析从服务器收到的VCard?

解决方法:

添加行:ProvIDerManager.getInstance().addIQProvIDer(“ vCard”,“ vcard-temp”,new VCardProvIDer());加载vCard之前.

总结

以上是内存溢出为你收集整理的Android-Asmack无法加载VCard全部内容,希望文章能够帮你解决Android-Asmack无法加载VCard所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1093744.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存