2012-07-05 6 views
5

Estoy usando la conexión XMPP (usando smack) para chat en la aplicación Android. He hecho la conexión con Openfire y también puedo enviar y recibir el mensaje. Pero el problema es que cuando entro en la actividad XMPPClient.java entonces hizo la conexión. Así que no puedo recibir ningún mensaje hasta que no entre en esa actividad. Así que cómo puedo hacer la conexión al inicio y luego reutilizarla en otra actividad. El código está en este 2 enlaces ConnectionSettings file y el chatscreen en el que podemos hacer chat.En este enlace la línea de comentarios también son mis preguntas, así que por favor también vea ese comentario.Mantenga la conexión XMPP (usando smack) activa en toda la aplicación

Respuesta

4

Crea el objeto XMPPConnection global y utiliza la función y almacenamiento inferiores en el objeto global XMPPConnection y usa ese objeto de conexión en todas partes. Este es un ejemplo de ejemplo de gtalk.

public XMPPConnection login() throws XMPPException { 

     ConnectionConfiguration config = new 
     ConnectionConfiguration("talk.google.com",5222,"gmail.com"); 
     config.setSecurityMode(SecurityMode.required); 
     config.setTruststoreType("BKS"); 
     config.setTruststorePath("/system/etc/security/cacerts.bks"); 
     XMPPConnection connection = new XMPPConnection(config);   
     connection.connect(); 
     connection.login(username, password); 
     Presence presence = new Presence(Presence.Type.available); 
     presence.setMode(Presence.Mode.available); 
     connection.sendPacket(presence); 
     try { 
      Thread.sleep(3000); 
     } catch (Exception ex) { 
      ex.printStackTrace(); 
     } 
    return connection; 
} 
+0

puede u por favor ver el primer eslabón de mi pregunta en la que tengo que escribo la conexión code.So ¿Cómo puedo usar que desde cualquier otra actividad? ¿O se puede dar algo de código para obtener la idea clara. – Nency

+0

Presencia presencia = nueva Presencia (Presence.Type.available); connection.sendPacket (presencia); xmppClient.setConnection (conexión); en este código, la conexión a la conexión solo está en el archivo XMPPClient.java, así que ¿cómo puedo usar este código en una actividad diferente? – Nency

+1

Dime primero lo que quieres. Por favor explique claramente. –

Cuestiones relacionadas