Ich habe eine kleine Lücke in meinem Wissen hier und ich möchte sicherstellen, dass ich es richtig mache, bevor ich den ganzen falschen Code schreibe.Wie kann ich ein Ereignis von Anwendung zu Aktivität in Android weitergeben?
Ich habe eine Android-App, die Anwendung erweitert, um einige Kernfunktionen für einen TCP-Client einzurichten. Es gibt ein paar verschiedene Activity Bildschirme, die mit Anwendung interagieren sollten. Was ich festhalte, ist, was zu tun ist, wenn ein Datenpaket von Anwendung empfangen wird. Ich möchte es an die derzeit sichtbare Aktivität weiterleiten, was auch immer es ist.
Ich stammt aus einem C# -Hintergrund, ich würde nur ein Ereignis in der Anwendung erstellen und einfach zu diesem Ereignisse abonnieren, wenn eine Aktivität erstellt wird. Aber ich bin verwirrt mit Java Listeners, Handler, ...
Was ist der beste Weg, um darüber zu gehen? Sollte ich stattdessen einen Service machen? (Aber es ist mir egal, wenn die TCP-Verbindung abgebrochen wird, wenn die App nicht angezeigt wird.)
Ich denke, Ihre zweite Idee ist wahrscheinlich gut für diese. Würde ich ein Handle für die "aktuelle" Aktivität in einer Kontextvariablen speichern und dann den Handler für diesen Kontext aufrufen, wenn ich Daten habe? Sind das die richtigen Bedingungen? – Adamlive
Ich würde einen Schritt weiter gehen und es als 'Aktivität' speichern, denn dann hast du Zugang zu ein paar weiteren Methoden, die nützlich sein könnten, besonders wenn du von einem Hintergrunddienst kommst (z. B.' Activity.runOnUiThread'). Auf diese Weise ist kein 'Handler' nötig. – sastraxi
Funktioniert bereits wie ein Champion. Verwenden von runOnUiThread wie vorgeschlagen. Vielen Dank! – Adamlive