Ich habe ejabberd auf meinem lokalen Server installiert. Dies wurde dann in Funken für seine Funktionalität getestet und es hat gut funktioniert. Jetzt möchte ich einen neuen Benutzer über die Android-App hinzufügen.Hinzufügen neuer Benutzer zu Ejabberd durch Smack android API
Ich habe versucht, einen neuen Benutzer durch Funken hinzufügen und es hat gut funktioniert. Die Felder, die ich angegeben habe, sind uesrname
, password
, confirm password
, server
. Aber wenn ich versuchte, es zu tun, um die smack api in dem Android-App gab es die folgenden Fehler:
org.jivesoftware.smack.XMPPException$XMPPErrorException: XMPPError: forbidden - auth
I createAccount() wurde mit, in dem Code gesehen, die ich unten wurde mit, das neue Konto in Klaps zu erstellen.
AccountManager accountManager = AccountManager.getInstance(conn1);
try {
accountManager.createAccount("tryuser", "qwerty");
Log.i("log", "created user successfully");
} catch (SmackException.NoResponseException e) {
e.printStackTrace();
} catch (XMPPException.XMPPErrorException e) {
e.printStackTrace();
} catch (SmackException.NotConnectedException e) {
e.printStackTrace();
}
ich überprüft haben, wenn sie von supportsAccountCreation() neue Kontoerstellung unterstützt und es kehrte true
.
Ich habe meine register
Regel auf allow all
in Ejabberd Server geändert. und ich denke nicht, dass es irgendein problem hat, weil ich konto von spark erstellen kann, aber fehler in smack bekommen.
Ich habe die folgenden SO Fragen zu diesem Thema untersucht, aber kein Glück.
Hat jemand irgendwelche Vorschläge, wie dieses Problem zu lösen?
Sie können Benutzer direkt durch Einfügen von Datensatz in der Datenbank erstellen. Erstellen Sie Webservice und senden Sie die Benutzerdaten an den Server. Ich habe das vor langer Zeit mit offenem Feuer gemacht. –
hey @DevendraSingh bitte geben Sie ein Beispiel dafür. –
Ich möchte keinen Webservice machen. Es sollte von meiner App aus kein Webview sein. –