Так что я не могу получить offline-messages
, и я не могу получать архивы сообщений с моего ejabberd
сервера.Я использую андроид студию с smack.Я пытаюсь использовать mamManager
, чтобы получить archive
, и он не выдает ошибку, а всегда возвращает 0. Печать mamQueryResult.mamFin.toXML().toString())
дает мне:
loadArchiveMessages: <iq to='user1@localhost/Ghost' from='user1@localhost' id='pEteK-23' type='result'><fin xmlns='urn:xmpp:mam:1' queryid='e3a7c52e-a0a9-443d-91c0-e628237da2a3' complete='true' stable='true'><set xmlns='http://jabber.org/protocol/rsm'><count>0</count></set></fin></iq>
Код для полученияархивы ниже (из другого поста):
public void loadArchiveMessages(Jid jid, XMPPTCPConnection xmppTcpConnection){
try {
Log.d(TAG, "loadArchiveMessages: "+jid);
String jidwithoutGhost = jid.toString();
String[] finalJid = jidwithoutGhost.split("/");
jid = JidCreate.domainBareFrom(finalJid[0]);
MamManager mamManager=MamManager.getInstanceFor(xmppTcpConnection);
MamManager.MamQueryResult mamQueryResult = mamManager.queryArchive(jid);
Log.d(TAG, "loadArchiveMessages: "+ mamQueryResult.mamFin.toXML().toString());
List<Forwarded> forwardedMessages=mamQueryResult.forwardedMessages;
Iterator<Forwarded> forwardedIterator=forwardedMessages.iterator();
Log.d(TAG, "loadArchiveMessages: "+forwardedMessages.size());
while (forwardedIterator.hasNext()){
Forwarded forwarded=forwardedIterator.next();
Stanza stanza=forwarded.getForwardedStanza();
if (stanza instanceof Message) {
String messageId=stanza.getStanzaId();
String m = ((Message) stanza).getBody();
Log.d(TAG, "loadArchiveMessages: "+m);
}
}
} catch (XMPPException.XMPPErrorException e) {
e.printStackTrace();
} catch (SmackException.NotLoggedInException e) {
e.printStackTrace();
} catch (SmackException.NotConnectedException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (SmackException.NoResponseException e) {
e.printStackTrace();
} catch (XmppStringprepException e) {
e.printStackTrace();
}
}
Я считаю, что ошибка из части /ghost
.Что я делаю?как мне это исправить.Я пытался и искал, и я действительно застрял!Заранее спасибо.