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' –