I am using aSmack library to communicate with remote xmpp server. I am able to send/receive messages, but I want to get timestamp of incoming message.
Could you tell me please, is it possible at all? Because I can't find anything about this question.
Thanks in advance
Due to specs time is required attribute for XMPP message:
http://xmpp.org/extensions/xep-0203.html#protocol
Check the <delay
item of <message
:
<delay xmlns='urn:xmpp:delay'
from='capulet.com'
stamp='2002-09-10T23:08:25Z'>
Offline Storage
</delay>
But getting it looks a bit tricky. As soon as aSmack is recompiled Smack with some replaced stuff, so try to get it the way like here:
http://edwin.baculsoft.com/2011/06/how-to-get-offline-messages-timestamp-on-openfire/
DelayInformation inf = null;
try {
inf = (DelayInformation)packet.getExtension("x","jabber:x:delay");
} catch (Exception e) {
log.error(e);
}
// get offline message timestamp
if(inf!=null)
Date date = inf.getStamp();
Problably, you will need to check what server sends with message as extension value and replace "jabber:x:delay"
with 'urn:xmpp:delay'
as it is shown in XMPP specs example.
But not sure if it works.