Jak utrzymać stabilne połączenie XMPP na Androidzie z (a) smackiem?

Używam biblioteki asmack-android-7-beem dla Androida. Mam uruchomioną usługę w tle, na przykład moja aplikacja pozostaje aktywna. Ale prędzej czy później połączenie XMPP umiera bez powiadomienia. Serwer mówi, że klient jest nadal online, ale żadne pakiety nie są wysyłane ani odbierane.

Na przykład klient nie otrzymuje żadnych pakietów obecności, gdy inni klienci mają nową obecność. Mam XMPPConnection jako attibute mojej głównej klasy aplikacji.
ustawiłemConnectionConfiguration config.setReconnectionAllowed(true) przed nawiązaniem połączenia.
Ale ponowne połączenie nie ma miejsca.XMPPConnection connection.isConnected() zwraca true.

Więc klient nie jest świadomy, że połączenie zostało faktycznie utracone.

Czy jest jakiś sposób, aby utrzymać połączenie przy życiu?

questionAnswers(6)

yourAnswerToTheQuestion