I got Service -unavailable cancel error when I am trying to retrieve the offline messages.
-
Prevent server to set presence to available: config.setSendPresence(true);
-
Connect to the server: connection.contect();
-
Login after connected to the server
-
Retrieve the Offline Message:
public void dealOfflineMsg() {
try {
OfflineMessageManager offlineManager = new OfflineMessageManager(connection);
List messages = offlineManager.getMessages();
for (Message message : messages){
ChatMessage chatMessage = getChatMessage(message);
ChatMessage.save(service, chatMessage);
}
offlineManager.deleteMessages();
Presence presence = new Presence(Presence.Type.available);
connection.sendStanza(presence);
}catch (Exception e){
showToast("Offline Message Error: " + e.getLocalizedMessage());
}
}
However, it throws error ‘service-unavailable-cancel’.
How can I solve this issue?