私はxmpp/asmackをAndroidで使い慣れていません。自分のユーザー状態とプレゼンス変更をリッスンする方法を探していますサーバー。XMPP aSmack - 自分のユーザー状態(オンライン/オフライン)で再接続するにはどうすればいいですか?
紛失した場合は復元接続をターゲットにします。
私は友達のプレゼンスを取得するのに役立つが実際には現在のユーザーそのものではない。
任意の助けいただければ幸い:)
敬具、
私はxmpp/asmackをAndroidで使い慣れていません。自分のユーザー状態とプレゼンス変更をリッスンする方法を探していますサーバー。XMPP aSmack - 自分のユーザー状態(オンライン/オフライン)で再接続するにはどうすればいいですか?
紛失した場合は復元接続をターゲットにします。
私は友達のプレゼンスを取得するのに役立つが実際には現在のユーザーそのものではない。
任意の助けいただければ幸い:)
敬具、
をあなたはReconectionManagerを有効にする必要があります。
例:
XmppManager.config = XMPPTCPConnectionConfiguration.builder()
.setServiceName(serverName)
.setHost(server)
.setPort(port)
.build();
connection = new XMPPTCPConnection(config);
ConnectionListener connectionListener = new ConnectionListener(){...}; //
connection.addConnectionListener(connectionListener);
int RECONNECTION_ATTEMPT_SECONDS = 60;
ReconnectionManager.getInstanceFor(connection).enableAutomaticReconnection();
ReconnectionManager.getInstanceFor(connection).setFixedDelay(RECONNECTION_ATTEMPT_SECONDS);
ReconnectionListenerは次のようになります。
public class ReconnectionListener implements ConnectionListener
{
@Override
public void reconnectionSuccessful()
{
System.out.println("Connection to chat server restored - You are again online");
//additional foo when connection restored
}
@Override
public void reconnectionFailed(Exception e)
{
System.out.println("Impossible to reconnect, Chat Server seems to be still unavailable");
}
@Override
public void reconnectingIn(int seconds)
{
System.out.println("reconnectingIn fired "+seconds);
}
@Override
public void connectionClosedOnError(Exception e)
{
System.out.println("Connection closed, Chat Server become unavailable");
//additional foo when connection lost (message to user ?)
}
@Override
public void connectionClosed()
{
// "XMPP connection was closed.");
System.out.println("Connection closed, Chat Server become unavailable");
}
@Override
public void connected(XMPPConnection connection)
{
System.out.println("connected fired - reconnection management enabled");
}
@Override
public void authenticated(XMPPConnection connection, boolean resumed)
{
System.out.println("authenticated fired");
}
}
それが助け場合は、その答え:)あなたが何をしたいのか
これはまさにAが探していたものです。 – Manar18
を受け入れることを忘れないでください。実際に? –
私はXMPP接続を安定した状態に保ちたいので、ユーザーが切断された場合に自動的に再接続する必要があります.....(オフライン)..... – Manar18