Wie wird mit der Notwendigkeit der Interprozesskommunikation in meiner Android-Anwendung umgegangen? [geschlossen]

8

Meine Anwendung erfordert, dass ich regelmäßig Folgendes tue:

  1. Senden Sie zyklische Heartbeat-Informationen einmal pro 15 Sekunden an einen Server
  2. Nehmen Sie regelmäßige Bildschirmaufnahmen vor und senden Sie sie einmal pro 60 Sekunden an einen Server
  3. Senden Sie eine Nachricht an den Server und rufen Sie den Server alle 5 Sekunden nach Nachrichten ab

Ich habe die Dienste für jeden der oben aufgeführten Punkte geschrieben, aber hier brauche ich Hilfe, Kommunikation zwischen diesen Diensten ...

Der Heartbeat-Dienst muss Folgendes können:

  1. Holen Sie einige Informationen vom Bildschirmaufnahme-Service.
  2. Eine Nachricht mit dem Messaging-Dienst in Warteschlange stellen.

Der Bildschirmaufzeichnungsdienst muss Folgendes ausführen können:

  1. Abrufen der aktuellen Aktivität aus meiner Anwendung
  2. Eine Nachricht mit dem Messaging-Dienst in Warteschlange stellen.

Der Messaging-Dienst muss in der Lage sein, Folgendes zu tun:

  1. Empfangen von Nachrichten für die Warteschlange, die über meine Anwendung / Dienste an den Server gesendet werden sollen
  2. Senden Sie vom Server empfangene Nachrichten an die Anwendung

Mit all den erforderlichen Kommunikationswegen frage ich mich, wie das geht? Würde ich meine Anwendung nur an alle Dienste binden? Dienstleistungen an andere Dienste binden? Verwenden Sie eine andere aus der Kommunikation?

Ich brauche all diese Dienste, um weiter zu funktionieren, auch wenn meine Anwendung nicht im Vordergrund steht.

    
Ryan 22.11.2013, 11:51
quelle

1 Antwort

4

Bereit weitere Informationen im Chat , aber die allgemeine Stoßrichtung ist:

  • verwenden Sie AlarmManager, um die Aufrufe eines Broadcast-Empfängers zu planen
  • Lassen Sie den Empfänger neu planen, wenn er aufgerufen wird
  • Lassen Sie den Empfänger einen Befehl an den Dienst senden (dadurch wird der Dienst gestartet, wenn er nicht bereits ausgeführt wird)
  • Lassen Sie den Dienst einen Thread drehen
  • führe HTTP im Thread
  • aus
Seva Alekseyev 25.11.2013, 18:09
quelle