0
我试图找回Archived Messages From OpenFire
的Android 4.2啪 “XMPPError:功能没有实现 - 取消”(错误)
请注意:
- 我加入了归档邮件插件。
- 相同的代码工作正常在本地,openfire的服务器安装没有抛出错误。
- 我已经经历了互联网上提供的所有解决方案,但未能成功。
- 我可以在openfire面板中看到存档消息。
是检索消息的代码:
public MamManager.MamQueryResult getArchivedMessages() {
//org.jivesoftware.smack.XMPPException$XMPPErrorException: XMPPError: feature-not-implemented - cancel
try {
MamManager mamManager = MamManager.getInstanceFor(connection);
boolean isSupported = mamManager.isSupportedByServer();
if (isSupported) {
MamManager.MamQueryResult mamQueryResult = mamManager.pageAfter(JidCreate.from(mUsername + SERVICE_NAME), "2r2Vf-68", 250);
List<Forwarded> forwardedMessages = mamQueryResult.forwardedMessages;
Forwarded d = forwardedMessages.get(0);
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
其他然后这个我也在努力实现OfflineMessageManager
为smack 4.2
是脱机maanger代码:
public static void handleOfflineMessages() throws Exception {
OfflineMessageManager offlineMessageManager = new OfflineMessageManager(getConnection());
if (!offlineMessageManager.supportsFlexibleRetrieval()) {
return;
}
if (offlineMessageManager.getMessageCount() == 0) {
String d = "ss";
} else {
List<Message> msgs = offlineMessageManager.getMessages();
for (Message msg : msgs) {
BareJid fullJid = msg.getFrom().asBareJid();
String messageBody = msg.getBody();
if (messageBody != null) {
}
}
// offlineMessageManager.deleteMessages();
}
}
Note : The above method is not throwing any error my I am always getting the message count = 0. where as I am following the official Doc for this. i.e not sending presence so as to get all offline messages. but failed to do so.
this is the link for official doc : OfflineMessageManager
任何人都可以指出我做错了什么?再次
关于MAM功能不执行,那么你可以说的Openfire的版本,归档插件和拍击你正在使用 监测服务? –
关于离线消息,您是否确认过您的离线消息实际上是存储在服务器上的?你能检查Openfire数据库中的消息吗? –
我的档案插件的版本是:'监视服务器的对话和统计数据:1.5.7: IgniteRealtime // Jive Software' –