Android 如何从Openfire获取群聊离线消息
在Android 如何从Openfire获取群聊离线消息,android,xmpp,chat,openfire,groupchat,Android,Xmpp,Chat,Openfire,Groupchat,在xmpp中,当我的用户登录并加入聊天室时,我可以通过任何方式获得多用户聊天的脱机消息 我想实现群聊比如WhatsApp,还有其他实现方法吗?请建议 提前感谢首先以这种方式声明多用户聊天 muc = new MultiUserChat(CONNECTION, room); try { muc.join(USERJID); } catch (SmackException.NoResponseException e) {
xmpp
中,当我的用户登录并加入聊天室时,我可以通过任何方式获得多用户聊天的脱机消息
我想实现群聊比如WhatsApp
,还有其他实现方法吗?请建议
提前感谢首先以这种方式声明多用户聊天
muc = new MultiUserChat(CONNECTION, room);
try {
muc.join(USERJID);
} catch (SmackException.NoResponseException e) {
e.printStackTrace();
} catch (XMPPException.XMPPErrorException e) {
e.printStackTrace();
} catch (SmackException.NotConnectedException e) {
e.printStackTrace();
}
私有静态多用户聊天muc=null
然后在oncreate方法中,以这种方式实例化它
muc = new MultiUserChat(CONNECTION, room);
try {
muc.join(USERJID);
} catch (SmackException.NoResponseException e) {
e.printStackTrace();
} catch (XMPPException.XMPPErrorException e) {
e.printStackTrace();
} catch (SmackException.NotConnectedException e) {
e.printStackTrace();
}
并在应用程序开始时调用此方法
void setMessageListner() {
muc.addMessageListener(new PacketListener() {
@Override
public void processPacket(Packet packet) throws SmackException.NotConnectedException {
Message msg = (Message)packet;
msg.setSubject(msg,getBody);
Logger.i("Received message : "+msg.getBody()+" From "+msg.getSubject());
});
}
这样,每当用户进入群组聊天时,他将至少在
ejjaberd
中获得该群组的最后一条消息。当您进入聊天群组时,您必须输入您的最后一条时间戳,因为您将从该时刻收到消息
保存上一条消息的时间戳,并在您进入房间时保存,如下所示:
MultiUserChat muc = new MultiUserChat(mConnection, room_name);
Log.d(TAG, "JOINING => " + room_name);
DiscussionHistory history = new DiscussionHistory();
if (mLastMessageDate == null)
history.setMaxStanzas(300);
else
history.setSince(mLastMessageDate); //timestamp from your last message
muc.join(mNickName, null, history,
SmackConfiguration.getDefaultPacketReplyTimeout());
希望有帮助谢谢回复,我尝试了这个,但它会给我所有的群聊信息谢谢回复,它会给我所有的群聊历史记录。如果这是解决方案,请将其标记为正确的:)hi lokesh如何获取最后一条消息的时间戳请帮助我我无法在chathi Zozelfefelfo群中获取脱机消息我如何获取最后一条消息的时间戳请help@zozelfelfo解决方案提供自组创建以来组的所有消息。。你知道如何在用户离开房间后才收到这些信息吗?