how we get Message Read/seen Acknowledgment to Sender in smack or in xmpp from android

Viewed 733

How we get Message Read/Seen Acknowledgement in smack or in XMPP from Android, 1. Single Tick Working(When User Send Message then server give Acknowledgement) 2. Double Tick Working (When Message Send to Receiver Device but receiver not Seen Message)

but when receiver Read/Seen Message how we send Acknowledgement to Sender?

2 Answers

You have to use MessageEventManager. Instantiate it as

messageEventManager = MessageEventManager.getInstanceFor(connection);

At the SENDER side, send a seen/displayed event as

messageEventManager.sendDisplayedNotification(to, messageID);

where to is JID to whom you have to send this event and messageID is the id of the message for which you are sending this event.

Now at the RECEIVER side register a listner like below:

messageEventManager.addMessageEventNotificationListener(messageEventNotificationListener);

MessageEventNotificationListener messageEventNotificationListener = new MessageEventNotificationListener() {
    @Override
    public void deliveredNotification(Jid from, String packetID) {

    }

    @Override
    public void displayedNotification(Jid from, String packetID) {
      System.out.println("HERE packetID IS THE MESSAGE ID FOR WHICH YOU RECEIVED SEEN/DISPLAYED EVENT AND YOU CAN SET STATUS FOR THAT MESSAGE");
    }

    @Override
    public void composingNotification(Jid from, String packetID) {

    }

    @Override
    public void offlineNotification(Jid from, String packetID) {

    }

    @Override
    public void cancelledNotification(Jid from, String packetID) {

    }
};
Related