#android #xmpp #asmack
#Android #xmpp #asmack
Вопрос:
я пытаюсь установить простой псевдоним с моим Beem-asmack на сервер openfire следующим образом :
connection.login(USERNAME, PASSWORD);
ProviderManager.getInstance().addIQProvider("vCard",
"vcard-temp", new org.jivesoftware.smackx.provider.VCardProvider());
VCard card = new VCard();
card.setNickName("NewNickname");
try {
card.save(connection);
} catch (XMPPException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
пакеты IQ выглядят так :
06-29 14:06:28.560: D/SMACK(2691): 02:06:28 PM SENT (-1274092112): <iq id="RJyL4-4"
from="reza@reza-hp/Smack" type="set"><vCard xmlns='vcard-temp'>
<NICKNAME>NewNickname</NICKNAME>
06-29 14:06:28.560: D/SMACK(2691): </vCard>
06-29 14:06:28.560: D/SMACK(2691): </iq>
и ответ:
06-29 14:06:28.570: D/SMACK(2691): 02:06:28 PM RCV (-1274092112): <iq type="result"
id="RJyL4-4" to="reza@reza-hp/Smack"/>
Но моя V-карта не обновляется. я раньше не видел IQ визитной карточки, но ответ здесь выглядит пустым, есть ли что-то еще, что я должен сделать? любая помощь, пожалуйста?
Ответ №1:
Вы не загрузили карту. Попробуйте это:
VCard vCard = new VCard();
card.load(connection);
card.setNickName("NewNickname");
try {
card.save(connection);
} catch (XMPPException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}