When I sent my presence type to unavailable, the rosterlistener is not able to listen to changes in the presence in my roster? here is my code
import java.util.Collection;
import org.jivesoftware.smack.;
import org.jivesoftware.smack.packet.Packet;
import org.jivesoftware.smack.packet.Presence;
import org.jivesoftware.smack.packet.Presence.Type;
import org.jivesoftware.smackx.;
public class Gtalk {
/**
-
@param args
*/
public static void main(String[] args) {try
{
// Create the configuration for this new connection
ConnectionConfiguration config = new ConnectionConfiguration(“talk.google.com”, 5222,“gmail.com”);
config.setCompressionEnabled(true);
config.setSASLAuthenticationEnabled(true);
XMPPConnection connection = new XMPPConnection(config);
// Connectconnection.connect(); connection.login("*****************", "********************"); Presence presence = new org.jivesoftware.smack.packet.Presence( Presence.Type.unavailable, "", 24, Presence.Mode.available); connection.sendPacket(presence); // Send it Roster roster = connection.getRoster(); RosterListener rosterListener= new RosterListener() { public void entriesAdded(Collection<String> addresses) {} public void entriesDeleted(Collection<String> addresses) {} public void entriesUpdated(Collection<String> addresses) {} public void presenceChanged(Presence presence) { System.out.println("Presence changed: " + presence.getFrom() + " " + presence); } }; roster.addRosterListener(rosterListener); do { Thread.sleep(1000); //keep the program runnin System.out.flush(); }while(true); //connection.disconnect();
}catch (Exception e){
}
}
}