0

Ich habe zwei Apps. Ab der ersten App-Hauptaktivität ruft sie startActivityForResult() auf, um die Hauptaktivität der zweiten App zu starten. Ich weiß, dass ich das Ergebnis über die Hauptaktivität der zweiten App senden kann.Ergebnis von einer anderen Aktivität als dem Empfang einer Aktivität zurückgeben

Aber für den Fall, wenn die Hauptaktivität der zweiten App eine andere Aktivität startet und die Hauptaktivität beendet, wie kann ich das Ergebnis an die Hauptaktivität der ersten Anwendung von der zweiten Aktivität einer zweiten Anwendung senden?

Antwort

0

Nehmen wir an, Sie haben drei Aktivitäten - A in der ersten App und B und C in der zweiten App.

Ich sehe zwei mögliche Szenarien:

  1. das Ergebnis Chaining - A beginnt für Ergebnis B beginnt für Ergebnis C. Das Ergebnis von C wird an B geliefert, B liefert es als Ergebnis an A.
  2. Verwenden Sie Intent s direkt - Starten Sie nicht B für Ergebnis, aber verwenden Sie explizite Intent s, um das Ergebnis an A zurückgeben. Das bedeutet, dass Sie den Startmodus A auf singleTop setzen und die entsprechenden Flags verwenden sollten, um sicherzustellen, dass Sie nicht mehrere Instanzen der Aktivität erhalten. Sie können auch Intent s nicht direkt auf A feuern, sondern auf eine BroadcastReceiver, die sie entsprechend behandelt.
+0

Mein Problem ist von B Ich kann C nicht für Ergebnis starten. Ich muss B beenden und C beginnen. Und von C muss ich Ergebnis an A senden. Auch kann ich A nicht als einzelne Instanz machen. Was ich suche, ist, wenn es irgendeine Weise gibt, kann ich das Ergebnis direkt von C nach A ohne BroadcastReceiver senden. – Gulshan

+1

Ich würde nein sagen. Die einzige Möglichkeit, zwischen Komponenten zu kommunizieren, ist "Absicht". Sie werden entweder von einer Aktivität oder einem "BroadcastReceiver" behandelt. –

+0

Bitte geben Sie uns eine bessere Vorstellung davon, was Sie brauchen, denn mit Intent können Sie Ihr Problem lösen. – Robert

Verwandte Themen