Maybe I was late to answer this question, but maybe it will be useful for others.
public List<ChatMessage> getChatHistoryWithJID(String jid, int maxResults) { List<ChatMessage> chatMessageList = new ArrayList<>(); MamManager.MamQueryResult mamQueryResult = getArchivedMessages(jid, maxResults); String userSendTo = XmppUtils.parseNameFromJID(jid); try { if (mamQueryResult != null && userSendTo != null) { for (Forwarded forwarded : mamQueryResult.forwardedMessages) { if (forwarded.getForwardedStanza() instanceof Message) { Message msg = (Message) forwarded.getForwardedStanza(); Log.d(TAG, "onCreate: " + msg.toString()); Log.d(TAG, "processStanza: " + msg.getFrom() + " SayοΌ" + msg.getBody() + " String lengthοΌ" + (msg.getBody() != null ? msg.getBody().length() : "")); ChatMessage chatMessage; if (XmppUtils.parseNameFromJID(msg.getFrom().toString()).equalsIgnoreCase(userSendTo)) { chatMessage = new ChatMessage(msg.getBody(), forwarded.getDelayInformation().getStamp().getTime(), ChatMessage.Type.RECEIVED); } else { chatMessage = new ChatMessage(msg.getBody(), forwarded.getDelayInformation().getStamp().getTime(), ChatMessage.Type.SENT); } chatMessageList.add(chatMessage); } } } else { return chatMessageList; } return chatMessageList; } catch (Exception e) { e.printStackTrace(); } return chatMessageList; }
Now the request will become like this:
<iq id='ri7F7-270' type='set'> <query xmlns='urn:xmpp:mam:1' queryid='afd9c922-21cb-437e-b5c4-3a5bf9994e40'> <x xmlns='jabber:x:data' type='submit'> <field var='FORM_TYPE' type='hidden'> <value>urn:xmpp:mam:1</value> </field> <field var='with'> <value> vishal@jabberid </value> </field> </x> <set xmlns='http://jabber.org/protocol/rsm'> <before> </before> <max>100</max> </set> </query>
And the answer will be like this:
<message to=" vishal@jabberid "> <result xmlns="urn:xmpp:mam:1" queryid="afd9c922-21cb-437e-b5c4-3a5bf9994e40" id="992"> <forwarded xmlns="urn:xmpp:forward:0"> <delay xmlns="urn:xmpp:delay" stamp="2019-04-05T06:38:40.612Z"/> <message xmlns="jabber:client" to=" vishal@jabberid " id="h58k4-104" type="chat" from=" vishal@jabberid "> <body>Hi</body> </message> </forwarded> </result> </message>
And you can also read this link https://xmpp.org/extensions/xep-0313.html
source share