Frage

Ich arbeite an einem XMPP-Client auf Android, die Smack-Bibliothek. Die Liste / Messaging / Anwesenheit Zeug ist sehr gut läuft. Allerdings habe ich nicht einen Weg finden, zusätzliche Profilinformationen (userpicture, die Hunde Name, ...) zu speichern.

Die einzige Möglichkeit, die ich von googeln sehen ist VCards verwenden. Aber es hat einfach nicht funktionieren. Ich habe versucht, die folgenden:

        VCard vCard = new VCard();
        vCard.load(connection);
        vCard.setEmailHome("meine_home@email.de");
        vCard.setLastName("Scheller");
        vCard.setField("blafasel", "asdf");
        vCard.save(connection);

Dann wurde ich auf der Suche nach einer Möglichkeit, dass VCard Informationen anzuzeigen. Es hat weder zeigen in iChat noch in diesem System.out:

        vCard.load(connection, user);
        System.out.println(user + " has this vCard: " + vCard.toXML());

So etwas schief gelaufen ist, aber Theres keinen Hinweis darauf, was es war. Ich habe versucht, dies mit dem Google-Talk-Server und meine eigenen Kopie von Openfire mit dem gleichen Ergebnis. Btw, ich diese Version von Smack bin mit: http://davanum.wordpress.com/2007/12/31/android-just-use-smack-api-for-xmpp/

Was mache ich hier falsch? Was ist der richtige Weg, Profil zu speichern bezogenen Informationen mit Smack?

Andere Tipps

Sie können den folgenden Code verwenden, Informationen zu erhalten.

VCard card = new VCard();
card.load(connection, "user@fqdn");
System.out.println("Voice: "+card.getPhoneHome("VOICE"));

Versuchen Sie es mit einem anderen Client eine vCard für diesen Benutzer zuerst einstellen und sehen, wie das Ihre Ergebnisse ändert. Um weiter zu diagnostizieren, müssen Sie auf Protokoll Debuggen in Smack (use „-Dsmack.debugEnabled=true“ auf einem Desktop-Rechner) drehen, und posten die entsprechenden Bits hier.

scroll top