Sto implementando un'applicazione di messaggistica con il protocollo XMPP e il server Openfire su piattaforma Android. Ho bisogno di salvare e caricare la mia vcard personale e di altri utenti. Al momento, sono riuscito a mantenere la mia vCard sul server e posso caricarla di nuovo. Il problema è con gli altri utenti Vcard, il server restituisce sempre XMPPError: funzionalità non implementata - annulla.Carica Vcard con Smack (Android) in Openfire Server
Io uso questa biblioteche:
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'
Mostra il codice:
salvarmi la vCard (funzionano bene).
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);
Caricare mia vCard (bel lavoro)
VCard vCard = null;
VCardManager vCardManager = VCardManager.getInstanceFor(connection);
vCard = vCardManager.loadVCard();
Il problema è qui. Carica altra Vcard utente:
VCardManager vCardManager = VCardManager.getInstanceFor(connection);
boolean isSupported = vCardManager.isSupported(user);
if (isSupported) // return true
vCard = vCardManager.loadVCard(user);
Il nome utente per caricare Vcard è corretto.
Qualche idea?
Grazie in anticipo.
spero che stiate vedendo questo, è un post più vecchio, ma ho avuto esattamente lo stesso problema. Ma il jid che cerco di caricare è [email protected], senza l'estensione Smack. Hai qualche idea del perché non funziona? – Opiatefuchs
mmm Ho risolto il mio problema con il jid dell'utente senza il/Smack. Quale versione stai usando nella tua applicazione? –
grazie per la risposta ... Sto usando l'API Smack 4.1.6, ma ieri ho letto alcune segnalazioni di bug e sembra che dipenda dal server. Il mio jid è corretto, quindi non potrebbe essere il problema. Ancora una domanda, La tua connessione, Sei appena entrato con il tuo jid o devo fare delle modifiche su Connection prima di chiamare la vcard di un altro utente? – Opiatefuchs