Sé que esta pregunta se ha hecho antes, pero solo una respuesta parcial ha sido dada por mschonaker here. En mi sitio web, el usuario puede agregar personas a su lista, luego el amigo tiene que aceptar y finalmente están conectados. La primera persona (usuario A) utilice el famososmack-create entry in roster
roster.createEntry(jid, name, groups);
que trabaja y añadir una entrada en su lista, pero entonces yo soy un poco confundido acerca de qué hacer:
cómo hacer Recibo la solicitud en el otro extremo? Intenté implementar un PacketListener, anular el ProcessPacket() y verificar el paquete cuyos tipos son Presence.Type.subscribe o Presence.Type.subscribed, pero parece que solo se activa para el usuario a, pero no para el que debería escuchar. suscripciones- usuario b.
luego, tengo otra función que puede buscar todas las solicitudes al iniciar sesión, así que si vuelvo a acceder veré la solicitud, pero ¿cómo la acepto? Al principio, pensé que el usuario B también debe agregar un usuario en su lista de
roster.createEntry(jid, name, groups);
pero que no funcionaba y no pasaba nada. También traté de hacer
Presence subscribed = new Presence(Presence.Type.subscribed);
subscribed.setTo(jid);
xMPPConnection.sendPacket(subscribed);
pero tampoco funcionó. Estoy seguro de que debe haber una manera buena y simple de hacerlo, pero no lo he encontrado hasta ahora en ninguna parte, y probar una cosa a la vez me dio demasiados dolores de cabeza. ¿Alguien sabe el flujo correcto para esto? ¡gracias por adelantado!
Me enfrento al mismo problema, ¿pueden ayudarme con respecto al mismo –