Android Asmack未加载VCard
我正在使用Asmack的二进制版本(我会在有时间的时候尽快构建它,因为我第一次尝试时遇到了问题)。我还建立了自己的ejabberd服务器 当我尝试加载一些联系人VCard时,服务器返回信息,但Asmack似乎不喜欢它(或者无法解析它) 这是我在调试模式下看到的:Android Asmack未加载VCard,android,vcf-vcard,asmack,Android,Vcf Vcard,Asmack,我正在使用Asmack的二进制版本(我会在有时间的时候尽快构建它,因为我第一次尝试时遇到了问题)。我还建立了自己的ejabberd服务器 当我尝试加载一些联系人VCard时,服务器返回信息,但Asmack似乎不喜欢它(或者无法解析它) 这是我在调试模式下看到的: <iq from='user@domain' to='admin@domain/Smack' id='I17sI-4' type='result'> <vCard xmlns='vcard-temp' prodid='
<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>
所有信息都设置为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之前。添加行:ProviderManager.getInstance().addIQProvider(“vCard”,“vCard temp”,new VCardProvider())代码>加载vCard之前。尝试以下操作:ProviderManager.getInstance().addIQProvider(“vCard”,“vCard temp”,new VCardProvider())代码>应该适用于常规的smack,不确定是否有smack…谢谢Maggie!在尝试加载vCard之前插入该行解决了问题;-)我将把它写成一个答案,这样您就可以接受:)试试这个:ProviderManager.getInstance().addIQProvider(“vCard”,“vCard temp”,new VCardProvider())代码>应该适用于常规的smack,不确定是否有smack…谢谢Maggie!在尝试加载vCard之前插入该行解决了问题;-)我会写下来作为答案,所以你可以接受:)请帮我拿vcard@SubbaReddyPolamReddy有什么问题吗?@Maggie你能告诉我为什么vCard vCard temp org.jivesoftware.smackx.provider.VCardProvider
不在smack.provider中工作请帮助我获取vcard@SubbaReddyPolamReddy“怎么了?”麦琪,你能告诉我吗为什么vCard vCard temp org.jivesoftware.smackx.provider.VCardProvider
不在smack.provider中工作
<iq id="I17sI-4" to="user@domain" type="get"><vCard xmlns='vcard-temp'/></iq>