Wie erstelle ich einen Dienst in Android?

achdem wir viel im Internet gesucht haben, sind wir zu einer Schlussfolgerung gekommen, um ein @ zu gewährleistefortdauer Verbindung mit XMPP Server müssen wir einen Dienst erstellen,

Wir haben eine erstellt, die die Smack-Bibliothek verwendet, um eine Verbindung mit @ herzustelle XMPP Server und es funktioniert gut mit Handy und Wi-Fi-Netzwerk.

Jedes Mal, wenn Sie etwas Design-Ansatz machen, ist es immer wichtig !!!, Smack hat diesen Wiederverbindungsmechanismus bereits implizit in seiner Bibliothek implementiert, die die Verbindung abhört, und wenn die Verbindung unterbrochen wird, versucht Smack, die Verbindung mit @ wiederherzustelle XMPP Server in einem bestimmten Zeitintervall.

Unser Anwendungsfall:
INTERNET-Konnektivität kann an WLAN oder einem Datennetz liegen. Wenn die Verbindung inaktiv ist und jemand den Bildschirm ausschaltet, wird die CPU in den Energiesparmodus versetzt. Es werden nun Daten an den Server gesendet, da der Server nicht mehr reagiert client, clientseitig XMPP connection is already in connected mode Der Verbindungs-Listener erkennt keine Trennung vom Server, daher wird hier der Ablauf abgeschlossen.

Nach der Suche im INTERNET haben wir herausgefunden, dass eine mögliche Lösung für dieses Problem darin besteht, den Server nach einem Fix zu pingen (wir verwenden 1 Minute als Fix-Zeit). Nachdem ein Ping-Fehler erkannt wurde, haben wir den gleichen Mechanismus wie bei Smack implementiert (Idee von Smack Reconnection) Mechanismus selbst) durch die Verwendung von Timer-Task.

Problem :: Das einzige Problem, das wir haben, ist das Entladen der Batterie. Wenn der Benutzer noch mit dem Internet verbunden ist und das Intervall für die erneute Verbindung länger wird, wird die Batterie leer.

1). Was ist die mögliche Lösung des obigen Problems?

2). Müssen wir einen anderen Ansatz wählen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage