0
public boolean connect() {
    String host = "talk.google.com";
    String port = "5222";
    String service = "gmail.com";

    ConnectionConfiguration connConfig = new ConnectionConfiguration(host,
            Integer.parseInt(port), service);
    connection = new XMPPConnection(connConfig);

    try {
        connection.connect();
        log("xmpp connected");
        connection.login("USERNAME@gmail.com", "Password");
        log("user loged in");
        log("loged user : " + connection.getUser());
    } catch (XMPPException e) {
        e.printStackTrace();
        return false;
    }
    return true;
}

public void displayBuddyList() {
    String user;
    String status_Message; 
    int state;
    Roster roster = connection.getRoster();
    Collection<RosterEntry> entries = roster.getEntries();

    log("Buddy list size :"+entries.size());
    for (RosterEntry r : entries) {

        user=r.getUser();
        status_Message=retrieveStatusMessage(user);
        log("name: "+r.getName()+"  user :"+user+"  Status :"+status_Message+" type :"+retrieveState(user));

    }
}

This is my code written in service.Im holding xmpp connection object in my service class.From activity im calling these methods.I can login,i can see the logs in logcat.But i'm unable to get buddy list when i call displayBuddyList().

Meher
  • 2,545
  • 3
  • 26
  • 53

1 Answers1

1
Roster roster = XMPPConnection.getRoster();
        Collection<RosterEntry> entries= roster.getEntries();
        ProviderManager.getInstance().addIQProvider("vCard", "vcard-temp",
                new VCardProvider());
        VCard card = null;
        for (RosterEntry entry : entries) {
            card = new VCard();
            Presence presencek= roster.getPresence(entry.getUser());
            try {
                card.load(Main.conn, entry.getUser());
            } catch (Exception e) {
                e.printStackTrace();
            }

            String jid = entry.getUser();
             String name = card.getField("FN");
            String status = presencek.getType().name();
            Log.d("Prescence", "" + presencek.getType().name());// //num one log

            byte[] imgs = card.getAvatar();
            if (imgs != null) {
                int len = imgs.length;
                Bitmap img = BitmapFactory.decodeByteArray(imgs, 0, len);
            }

see this one https://stackoverflow.com/questions/9885154/how-to-get-images-from-xmpp-in-android-application/10272947#10272947

Community
  • 1
  • 1
NagarjunaReddy
  • 8,621
  • 10
  • 63
  • 98