5 Stimmen

Android - Interaktion zwischen Diensten und Aktivitäten

Ich möchte eine Anwendung erstellen, die einen Dienst S und eine Aktivität A enthält. Der Dienst S ist für die Vorverarbeitung zuständig, z. B. für die Aufbereitung der auf der Benutzeroberfläche der Aktivität A angezeigten Daten, bevor die Aktivität A aufgerufen wird.

Ich möchte in der Lage sein, den Dienst S von außerhalb des Pakets aufzurufen, z. B. von der Aktivitätsklasse B einer anderen Android-App, die Vorverarbeitung durchzuführen und dann, wenn die Daten bereit sind, Aktivität A aufzurufen.

Meine Fragen sind:

  1. Wie lassen sich Daten am besten zwischen dem Dienst S und der Tätigkeit A austauschen?
  2. Wie kann die externe Aktivität B mit dem Dienst S kommunizieren, um festzustellen, ob alle Vorverarbeitungen abgeschlossen sind und die Aktivität A aufgerufen werden kann?

Danke Chris

7voto

CommonsWare Punkte 950864

Wie lassen sich Daten am besten gemeinsam nutzen? zwischen dem Dienst S und der Tätigkeit A?

Verwenden Sie das lokale Bindungsmuster und lassen Sie Aktivität A an den Dienst S binden und rufen Sie dann die exponierte API des Dienstes auf, um die benötigten Informationen abzurufen.

Wie kann die externe Aktivität B mit der Dienststelle S kommunizieren, um festzustellen, ob sie alle ihre Vorverarbeitung abgeschlossen ist, und die Aktivität A bereit ist, aufgerufen zu werden?

Verwenden Sie das Muster der Fernbindung und AIDL. Aktivität B würde einen in AIDL definierten Rückruf beim Dienst S registrieren, den der Dienst dann bei Bedarf aufruft. Siehe aquí y aquí für ein Beispiel.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X