Pregunta

Tengo un botón en la Solicitud de Android. Cuando se hace clic en el botón siguiente código se invoca:

TestSmack a = new TestSmack();
a.login("abc@gmai.com","password");

Tengo una clase TestSmack ..... en el constructor de esta clase que escribí

public TestSmack ()
{
    ConnectionConfiguration connConfig = new 
          ConnectionConfiguration("talk.google.com", 5222, "gmail.com");
    connection = new XMPPConnection(connConfig);
}

donde la conexión XMPPConnection es una variable global. Y en el método de inicio de sesión Trato de conectar con el servidor:

public void login(String userName, String password) throws XMPPException
{
    SASLAuthentication.supportSASLMechanism("PLAIN", 0);
    connection.connect();    
    connection.login(userName, password);
}

Pero se bloquea. No sé qué está sucediendo.

Mientras que cuando llamo a estos todos los métodos de main() y ejecutar una sencilla aplicación Java en proyecto separado (Java, no androide) que trabaja muy bien.

No soy capaz de averiguar cuál es el problema.

Gracias

¿Fue útil?

Solución

¿Está utilizando la biblioteca estándar Smack? Cuando estaba jugando un poco con XMPP hace unos meses, había que arreglar la biblioteca para que funcione en Android. Tal vez esto ayude a:

http: //davanum.wordpress. com / 2008/12/29 / actualizada en XMPP-cliente-para-android /

Otros consejos

Si alguien no es capaz de ejecutar el programa en Android a continuación, comprobar si el connect () y login fina) TORTAZO API están trabajando (o not.Because me di cuenta de que u necesidad de añadir

usos permiso-android: name = "android.permission.INTERNET" (encerrarlo dentro de separada llaves)

en el archivo de AndroidManifest connect () y login () para work.and no se olvide de utilizar el Smack.jar parcheado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top