asmack - 无法读取vCard(asmack - can't read VCard)

2019-10-16 14:21发布

我做了什么,答案提示( Asmack不加载电子名片 ),但它仍然无法正常工作。 调试输出显示的Smack接收与电子名片信息的分组,但随后在抛出一个ClassCastException https://github.com/rtreffer/smack/blob/master/source/org/jivesoftware/smackx/packet/VCard.java#L548而我得到的是“没有电子名片的XXX @ XXX”。

我的代码:

public VCard getUserVCard() throws XMPPException {
    VCard userVCard = new VCard();
    userVCard.load(connection);
    return userVCard;
}

和以前的一些初始化:

ConnectionConfiguration config = new ConnectionConfiguration(OF_HOST, OF_PORT, OF_SERVICE_NAME);
config.setDebuggerEnabled(true);
    config.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);
ProviderManager.getInstance().addIQProvider("vCard ", "vcard-temp", new org.jivesoftware.smackx.provider.VCardProvider());
connection = new XMPPConnection(config);
this.context = context;
try {
    connection.connect();
} catch (XMPPException e) {
    // TODO Auto-generated catch block
        e.printStackTrace();
}

数据库中的虚拟卡信息OK - 只有最终铸造失败。 有什么建议么?

Answer 1:

我终于下定决心,不仅添加VCardProvider但整个九码在配置下面这篇文章中XMPP与aSmack使用UserSearch时getSearchForm返回null和它的工作。



文章来源: asmack - can't read VCard