java - asmack - 无法读取 VCard

标签 java android smack vcf-vcard asmack

我完全按照答案建议的操作( Asmack not loading VCard ),但它仍然不起作用。 DEBUG 输出显示 Smack 收到带有 VCard 信息的数据包,但随后在 https://github.com/rtreffer/smack/blob/master/source/org/jivesoftware/smackx/packet/VCard.java#L548 中抛出 ClassCastException我得到的只是“xxx@xxx 没有 VCard”。

我的代码:

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();
}

数据库中的 VCard 信息正常 - 只是最终转换失败。有什么建议吗?

最佳答案

我最终决定不仅添加 VCardProvider,而且在这篇文章之后的配置中添加整个九码 getSearchForm returns null when using UserSearch in XMPP with aSmack它起作用了。

关于java - asmack - 无法读取 VCard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9089917/

相关文章:

java - 如何比较两个数组。一个数组从文件中获取,另一个数组是随机数?

java - 查找 EditText 可编辑的 getSpans 开始和结束索引

android - Smack 4.1.0 android 名册不显示

android - Openfire:即使我已经连接到 Openfire 服务器,几(2-3)小时后也无法发送数据包

java - 当我想加载 ListView 时,Android ArrayAdapter 崩溃

java - 有关如何将 Vysper xmpp 与 smack 结合使用的示例

java - 如何读取DocumenListener中的最后一个单词或最后一行

java - 处理大量数据

java - 使用 spring boot 处理 redis 缓存可用性

android - 在Android中检测物理菜单按键