Meine Android-Klasseninstanz hört den Drittanbieterdienst für das Ereignis ab. Dann kommt das Ereignis heraus, ich muss meine Aktivität darüber bemerken. Was ist der richtige Weg? Ich weiß über startActivity() -Methode, aber meine Aktivität läuft noch!Übergeben Sie Daten von der Anwendung an die Aktivität
Antwort
Verwenden Sie lokale Broadcast-Ereignisse mit LocalBroadcastManager - siehe hierzu tutorial für weitere Informationen.
Ich habe relevante Codebits aus dem obigen Tutorial für Ihre Bequemlichkeit kopiert.
Um Ihre bereits laufenden Aktivitäten zu Ihrer Veranstaltung, versuchen Sie Folgendes mitteilen:
eine Broadcast-Absicht von Ihrer Anwendungsklasse senden, wenn Sie das Ereignis empfangen.
Intent intent = new Intent("my-event"); // add data intent.putExtra("message", "data"); LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
eine BroadcastReceiver in Registrieren Sie Ihre Aktivitäten, die die empfangenen Intents für Ihre Veranstaltung behandelt. Fügen Sie den folgenden Code in Ihre Aktivität:
@Override public void onResume() { super.onResume(); // Register mMessageReceiver to receive messages. LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver, new IntentFilter("my-event")); } // handler for received Intents for the "my-event" event private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { // Extract data included in the Intent String message = intent.getStringExtra("message"); Log.d("receiver", "Got message: " + message); } }; @Override protected void onPause() { // Unregister since the activity is not visible LocalBroadcastManager.getInstance(this).unregisterReceiver(mMessageReceiver); super.onPause(); }
Das ist, was ich brauche! Vielen Dank! – Scit
Wenn die Kommunikation für Ihre App lokal ist, können Sie local broadcasts verwenden. Für die Kommunikation zwischen Komponenten können Sie auch EventBus (Android-Bibliothek) verwenden. Es ist wirklich einfach zu bedienen und zu implementieren (dauert weniger als eine Minute, um zu verstehen, wie es funktioniert) und ist in der Leistung groß.
- 1. Übergeben Sie Daten an BroadcastReceiver von Aktivität mit DownloadManager
- 2. Übergeben von Suchdaten an durchsuchbare Aktivität
- 3. Wie Daten von Aktivität an Fragment übergeben werden
- 4. Übergeben Sie die analysierten Daten an UICollectionView
- 5. So senden Sie Daten von einer Aktivität an die Schnittstelle
- 6. android - Nachricht von Broadcast an Aktivität übergeben
- 7. Übergeben von Drehfeldwert von Aktivität an Fragment
- 8. Übergeben Sie Daten an die Ansicht. Immer durch viewData?
- 9. Daten an Broadcast-Empfänger übergeben, die bereits Absichtsfilter hat, der von Aktivität
- 10. Android Holen Sie sich die Daten von Benutzer und übergeben Sie die Daten an mehrere Aktivitäten
- 11. Wie kann ich die Daten speichern, die ich von der zweiten Aktivität an die Hauptaktivität übergeben habe?
- 12. So übergeben Sie die Werte von einer Aktivität an vorherige Aktivität
- 13. Wie übergeben Sie einen Wert von Anadapter-Klasse an Aktivität
- 14. Übergeben von Daten an mdDialog
- 15. So senden Sie Daten von einem Fragment an eine Aktivität?
- 16. Übergeben Sie Daten von Dialog zu Aktivität Android
- 17. So übergeben Sie JSON-Objekt an neue Aktivität
- 18. Übergeben von Daten aus der Teilansicht an die übergeordnete Ansicht
- 19. JSON-Daten von der Vorlage an die Django-Ansicht übergeben
- 20. Antwort von der Datenbank verarbeiten und an neue Aktivität übergeben
- 21. Übergeben des Datenbankklassenobjekts von der Hauptaktivität an eine andere Aktivität
- 22. Übergeben von Daten an subprocess.check_output
- 23. Übergeben von Daten von einer Aktivität an eine andere mithilfe von Bundle - nicht in der zweiten Aktivität angezeigt
- 24. Übergeben von JSON-Daten von ListView an die nächste Aktivität beim Klicken auf Zeilenelement
- 25. Android - So senden Sie Daten zurück an die aufrufende Aktivität
- 26. Übergeben Sie ein anderes Objekt an die Hauptflasche Anwendung
- 27. Übergeben Sie Daten an Benutzerkomponenten in asp.net
- 28. Senden von Daten von der Benachrichtigung an geschlossene Aktivität
- 29. Senden von Daten vom Dienst an Aktivität
- 30. Spring: Übergeben Sie Objekt an RestController von Anwendung
Sprechen Sie über Sendungen? Wenn ja, überprüfen Sie dies. https://developer.android.com/reference/android/content/BroadcastReceiver.html –