您的位置:首页 > 移动开发 > Android开发

Openfire XMPP asmack开发 android客户端上传用户头像

2013-07-29 15:11 465 查看
直接上代码:

/**
* 上传头像
*/
private void setUserImage(final XMPPConnection connection,
final byte[] image) throws XMPPException {
final VCard card = new VCard();
card.load(connection);

new Thread() {
@Override
public void run() {
try {
PacketFilter filter = new AndFilter(new PacketIDFilter(
card.getPacketID()), new PacketTypeFilter(IQ.class));
PacketCollector collector = connection
.createPacketCollector(filter);
String encodeImage = StringUtils.encodeBase64(image);
card.setAvatar(image, encodeImage);
card.setEncodedImage(encodeImage);
card.setField("PHOTO", "<TYPE>image/jpg</TYPE><BINVAL>"
+ encodeImage + "</BINVAL>", true);
Log.i("other", "上传头像的方法!");
card.save(connection);
IQ iq = (IQ) collector.nextResult(SmackConfiguration
.getPacketReplyTimeout());
if (iq != null && iq.getType() == IQ.Type.RESULT) {
Message msg = handler.obtainMessage();
msg.what = 2;
handler.sendMessage(msg);
}
} catch (XMPPException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}.start();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息