Question

J'ai un bouton dans l'application Android. Lorsque le bouton est cliqué code suivant est invoqué:

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

J'ai une classe TestSmack ..... dans le constructeur de cette classe i écrit

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

où la connexion XMPPConnection est une variable globale. Et dans la méthode de connexion je tente de se connecter au serveur:

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

Mais il se bloque. Je ne sais pas ce qu'il se passe.

Alors quand je l'appelle ces toutes les méthodes de main() et d'exécuter une simple application Java dans le projet séparé (Java, pas Android), il fonctionne très bien.

Je ne suis pas en mesure de comprendre ce qui est le problème.

Merci

Était-ce utile?

La solution

Utilisez-vous la bibliothèque standard Smack? Quand je jouais avec XMPP il y a quelques mois, il fallait colmater la bibliothèque pour le faire fonctionner sur Android. Peut-être que cela aide:

http: //davanum.wordpress. com / 2008/12/29 / mise à jour XMPP-client pour Android /

Autres conseils

Si quelqu'un ne peut pas exécuter le programme sur Android puis vérifiez si la connexion () et login () API SMACK fonctionnent très bien ou not.Because i compris que u besoin d'ajouter

utilise-permission android: name = "android.permission.INTERNET" (enfermer dans séparés accolades)

dans le fichier AndroidManifest pour connect () et login () à work.And ne pas oublier d'utiliser le Smack.jar patché.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top