1.加载ReconnectionManager
try {
Class.forName("org.jivesoftware.smack.ReconnectionManager");
} catch (Exception e1) {
}
2.设置重连参数
ConnectionConfiguration configuration = new ConnectionConfiguration(“ip”, port);
configuration.setReconnectionAllowed(true);
3.监听断线
connection.addConnectionListener(connectionListener);
public static ConnectionListener connectionListener = new ConnectionListener() {
@Override
public void reconnectionSuccessful() {
//重连成功
//重连成功后要重新注册接收消息的Listen,要不然没法接收到消息
}
@Override
public void reconnectionFailed(Exception arg0) {
//重连失败
}
@Override
public void reconnectingIn(int arg0) {
//重连中
}
@Override
public void connectionClosedOnError(Exception arg0) {
Log.i("connection", "connectionClosedOnError");
//重连失败
}