无法在android-XMPP中获取消息历史记录
我已经为这个问题寻找解决方案三天多了 我正在使用xmpp-openfire服务器为android制作一个聊天应用程序。我成功连接并登录到服务器,现在我可以通过我的应用程序与Spark聊天 但是现在我必须在我读到的一次聊天记录中获取最近的消息,我必须使用插件并请求消息。。我使用了Monitoring Service插件和Open Archive插件,请求如下:无法在android-XMPP中获取消息历史记录,android,xml,xmpp,openfire,asmack,Android,Xml,Xmpp,Openfire,Asmack,我已经为这个问题寻找解决方案三天多了 我正在使用xmpp-openfire服务器为android制作一个聊天应用程序。我成功连接并登录到服务器,现在我可以通过我的应用程序与Spark聊天 但是现在我必须在我读到的一次聊天记录中获取最近的消息,我必须使用插件并请求消息。。我使用了Monitoring Service插件和Open Archive插件,请求如下: <iq type='get' id='user1'> <list xmlns='urn:xmpp:archi
<iq type='get' id='user1'>
<list xmlns='urn:xmpp:archive'
with='admin@localhost'>
<set xmlns='http://jabber.org/protocol/rsm'><max>30</max>
</set></list></iq>
因此,我得到的答复如下:
packet details : <iq id="user1" to="user2@localhost/Smack" type="result"></iq>
虽然我可以在Openfire管理控制台中看到聊天记录,但为什么我无法获得聊天记录。。?
任何帮助都将不胜感激。。谢谢。@MuhmmadAshraf…您的问题有什么解决方案吗..请帮助我,我也想获取一对一聊天转换的历史记录。请让我知道
PacketFilter filter = new PacketFilter() {
public boolean accept(Packet arg0) {
return true;
}
};
MainActivity.connection.addPacketListener(new PacketListener() {
public void processPacket(Packet packet) {
if(packet.getClass() == Message.class ) {
Message message = (Message) packet;
final String body = message.getBody();
final String from = message.getFrom();
Log.d(TAG, "Got Message : " + body);
} else {
Log.d("Chat", "Packet: " + packet.getClass());
System.out.println("packet details : " + packet.toXML());
}
}
}, filter);
packet details : <iq id="user1" to="user2@localhost/Smack" type="result"></iq>