如何从 Smack 4.1 创建帐户

gui*_*uik 5 android xmpp smack

我正在尝试在 jabber.at 上从 Smack for Android 创建一个帐户。这是我的代码:

XMPPTCPConnectionConfiguration conf= XMPPTCPConnectionConfiguration.builder()
                                .setServiceName("jabber.at")
                                .build();
XMPPTCPConnection connection = new XMPPTCPConnection(conf);

connection.addConnectionListener(xmppConnectionListener);
connection.connect();

AccountManager accountManager = AccountManager.getInstance(connection);
Map<String, String> map = new HashMap<String, String>();
map.put("username", usr);
map.put("password", pwd);
map.put("email", email);
accountManager.createAccount(usr, pwd, map);
Run Code Online (Sandbox Code Playgroud)

我有一个错误:

W/System.err? org.jivesoftware.smack.packet.XMPPError@2beba168
W/System.err? at org.jivesoftware.smack.PacketCollector.nextResultOrThrow(PacketCollector.java:217)
W/System.err? at org.jivesoftware.smack.PacketCollector.nextResultOrThrow(PacketCollector.java:198)
Run Code Online (Sandbox Code Playgroud)

我试过有和没有地图,同样的错误。根据 jabber.at 的 Mathias Ertl 的说法,可以远程创建帐户,所以我在某处做错了。任何的想法 ?

小智 1

检查您的服务器是否支持远程帐户创建。

accountManager.supportsAccountCreation()
Run Code Online (Sandbox Code Playgroud)

  • 它返回 org.jivesoftware.smack.XMPPException$XMPPErrorException: XMPPError: bad-request - 修改 (3认同)