Frage

ich eine Taste in Applikation für Android haben. Wenn die Schaltfläche geklickt wird folgender Code wird aufgerufen:

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

Ich habe eine TestSmack Klasse ..... im Konstruktor dieser Klasse i schrieb

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

wo XMPPConnection Verbindung eine globale Variable ist. Und in der Login-Methode versuche ich mit dem Server zu verbinden:

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

Aber es stürzt ab. Ich weiß nicht, was passiert.

Während, wenn ich diese alle Methoden von main() anrufen und eine einfache Java-Anwendung in einem separaten Projekt (Java, nicht Android) laufen, es funktioniert.

Ich bin nicht in der Lage, um herauszufinden, was das Problem ist.

Danke

War es hilfreich?

Lösung

Verwenden Sie die Standard-Bibliothek Smack? Als ich vor einigen Monaten mit XMPP herum spielen, mußte man die Bibliothek patchen, um es auf Android zu arbeiten. Vielleicht hilft:

http: //davanum.wordpress. com / 2008/12/29 / aktualisiert-xmpp-client-for-android /

Andere Tipps

Wenn jemand nicht in der Lage ist, das Programm auf Android dann prüfen, ob die connect () und login () SMACK API arbeiten gut oder not.Because Ich fand heraus, laufen, dass u

hinzufügen müssen

Uses-Berechtigung android: name = "android.permission.INTERNET" (setzen Sie ihn innerhalb von separate Klammern)

in der AndroidManifest Datei für connect () und login () zu work.and nicht vergessen, die gepatchten Smack.jar zu verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top