I have been trying to connect to my (locally hosted) Openfire XMPP server from my aSmack Android client for hours now, and it\'s still not working.
I get a org
Try to add
<uses-permission android:name="android.permission.INTERNET" />
to your manifest. Because that your application cannot connect to the Internet.
I get a org.jivesoftware.smack.SmackException$ConnectionException and that's it.
No, it's not. If you look at the javadoc for ConnectionException:
ConnectionException is thrown if Smack is unable to connect to all hosts of a given XMPP service. The failed hosts can be retrieved with getFailedAddresses(), which will have the exception causing the connection failure set and retrievable with HostAddress.getException().
So call ConnectionException.getFailedAddresses()
to retrieve the list and check with HostAddress.getException()
what caused Smack to be unable to connect to the host.
It throws exception as you can't make network operation on Android main thread, you should move it to another thread.
**XMPPTCPConnection connection is already configured so please check the connection before creating object of XMPPTCPConnection class.**
XMPPTCPConnection connection;
if (connection != null) {
connection = null;//make it null
}
connection = new XMPPTCPConnection(config.build());
I am getting this same problem but now it has been fixed try it is working.
Try the below code. It's working for me:
AndroidConnectionConfiguration config = new AndroidConnectionConfiguration(HOST);
config.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);
XMPPConnection connection = new XMPPConnection(config);
then connect and login