Android - Paho Mqtt-client nicht empfangen Nachrichten sobald Netzwerk-Konnektivität änderungen (mobile Daten deaktiviert und wieder aktiviert)

Ich bin mit Mosquitto Mqtt zusammen mit paho-API zu erhalten push-Nachrichten auf android-Gerät. Aber sobald die Netzwerkverbindung ändert es Stoppt den Empfang von Nachrichten. Hier sind die Schritte zum reproduzieren des Problems mit einfachen Testfall:

1) Erstellen Sie eine einfache Aktivität.

2) Über die Aktivität Start verbindet mosquitto test server (test.mosquitto.org:1883) paho-API.

3) Abonnieren Sie einige Thema.

4) Veröffentlichen, eine Nachricht zu dem Thema.

Ergebnis: Mqtt-Client empfängt alle Nachrichten, die zu dem Thema veröffentlichten. Jetzt

5) Deaktivieren Sie die internet-Verbindung auf dem Handy (mobile Daten)

6) Veröffentlichen Sie eine Meldung zu dem Thema.

7) schließen Sie internet.

Ergebnis: Client erhält keine Meldung veröffentlicht, nach der die internet-Verbindung deaktiviert wurde.

Als KeepAliveInterval gehalten wurde hohen Wert (30 Minuten), sollte es erhalten alle Nachrichten nach dem wiederherstellen der Verbindung zum internet.

Den gleichen Anwendungsfall (gleichen code) arbeitet für einfache java-Projekt (nicht-android) wo deaktiviere ich internet auf meinem laptop zum ausführen des use-case.

Jede Idee, warum es nicht funktioniert auf android-Gerät??? Bin ich etwas fehlt?

Hinweis:

1) Über mqtt-client-0.4.1

2) Android target von API-level 11

3) Nicht setzen, Gerät in den sleep-Modus während der Prüfung.

4) nicht nennen, in connectionLost Rückruf und alle 4 threads von mqtt callback ausgeführt werden, während der Prüfung Fall ich.e-Verbindung, die den mosquitto-server ist intakt.

Schreibe einen Kommentar