L'auditeur de présence dans le chat multi-utilisateurs n'est pas appelé. J'ai utilisé l'Api Smack pour me connecter, puis j'ai ajouté l'écouteur de présence Smack. roster.addRosterListener(mRoasterListener) ; mais je n'ai pas réussi à écouter lorsque la présence d'un autre utilisateur du salon de discussion change. J'ai essayé le code suivant pour que l'écouteur de présence fonctionne :
connection.login(loginUser, passwordUser);
MultiUserChatManager manager =
MultiUserChatManager.getInstanceFor(connection);
muc = manager.getMultiUserChat(roomID + "@" +context.getString(R.string.group_chat_id));
Log.d("Join User: ", "Already Created");
muc.join(Utilities.getUserPhoneNo(context));
muc.addMessageListener(mGroupMessageListener);
Roster roster = Roster.getInstanceFor(connection);//luna
roster.addRosterListener(mRoasterListener);//roasterListener
Log.d("Joined User Phone: ", " " + Utilities.getUserPhoneNo(context));
et cette classe pour écouter le changement de présence...
public class RoasterListener implements RosterListener{
public RoasterListener(Context context){
}
@Override
public void entriesAdded(Collection<String> collection) {
}
@Override
public void entriesUpdated(Collection<String> collection) {
}
@Override
public void entriesDeleted(Collection<String> collection) {
}
@Override
public void presenceChanged(Presence presence) {
System.out.println("Presence changed: " + presence.getFrom() + " " + presence);
}
}
J'ai essayé de nombreux liens disponibles par stackoverflow mais je n'ai pas réussi. Veuillez m'aider !