【发布时间】:2014-05-30 10:24:45
【问题描述】:
我正在使用 aSmack。我的应用程序监听聊天室并对消息做出反应,但它从不发送消息。如果聊天室保持沉默一段时间,然后发送新消息,则应用程序不会收到更多消息。我进行了研究,我认为XEP-0199 是这里的解决方案。我看到@Flow(当前的 Smack 维护者)implemented it 和 the issue related 已关闭。
我认为我需要使用PingProvider,但我真的不知道如何将这个类与Connection联系起来。
如何启用XEP-0199?如何使用PingProvider?
连接代码:
smack = SmackAndroid.init(getActivity().getApplicationContext());
connection = new XMPPConnection(App.getServer());
connection.addConnectionListener(new ConnectionListener() {
private final static String SMACK = "SMACK";
@Override
public void reconnectionSuccessful() {
Log.i(SMACK , "reconnectionSuccessful");
}
@Override
public void reconnectionFailed(Exception e) {
Log.i(SMACK, "reconnectionFailed", e);
}
@Override
public void reconnectingIn(int seconds) {
Log.i(SMACK, "reconnectingIn " + seconds);
}
@Override
public void connectionClosedOnError(Exception e) {
Log.i(SMACK, "connectionClosedOnError", e);
}
@Override
public void connectionClosed() {
Log.i(SMACK, "connectionClosed");
}
});
connection.connect();
connection.login(user, password);
【问题讨论】:
标签: android xmpp ping smack asmack