problème face en utilisant smack sur Android
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
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é.