smack android 示例代码,在Openfire Server中使用Smack(Android)加载Vcards

我正在

Android平台上使用XMPP协议和Openfire服务器实现消息传递应用程序.我需要保存并加载自己的Vcard和其他用户vcard.目前,我设法将我的vCard保存在服务器上并可以再次加载它.问题在于其他用户的Vcards,服务器总是返回XMPPError:功能未实现 – 取消.

我用这个库:

compile 'org.igniterealtime.smack:smack-android:4.1.2-SNAPSHOT'

compile 'org.igniterealtime.smack:smack-tcp:4.1.2-SNAPSHOT'

compile 'org.igniterealtime.smack:smack-extensions:4.1.2-SNAPSHOT'

保存我自己的Vcard(工作正常).

VCardManager vCardManager = VCardManager.getInstanceFor(connection);

VCard vCard;

vCard = vCardManager.loadVCard();

vCard.setNickName("User name");

URL urldefault = new URL("Avatar URL");

InputStream stream = urldefault.openStream();

byte[] avatar1 = readBytes(stream);

vCard.setAvatar(avatar1,"avatar1/jpg");

vCard.setEmailHome("user email");

vCard.setPhoneHome("mobile","888888888");

vCardManager.saveVCard(vCard);

加载我自己的Vcard(工作正常)

VCard vCard = null;

VCardManager vCardManager = VCardManager.getInstanceFor(connection);

vCard = vCardManager.loadVCard();

问题出在这里.加载其他用户Vcard:

VCardManager vCardManager = VCardManager.getInstanceFor(connection);

boolean isSupported = vCardManager.isSupported(user);

if (isSupported) // return true

vCard = vCardManager.loadVCard(user);

加载Vcard的用户名是正确的.

有任何想法吗?

提前致谢.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值