Ich habe eine Aktivität. In dieser Aktivität möchte ich mit startActivityForResult() eine andere Aktivität starten. Ich verstehe, dass meine grundlegende Aktivität in einem Prozess mit einem Haupt-GUI-Thread gestartet wird. Aber soweit ich verstehe, ist startActivityForResult() asynchron, was bedeutet, dass meine neue Aktivität in einem anderen Thread ausgeführt wird. Ich kann keine Informationen zu den Threads finden. Wenn es nur einen GUI-Thread gibt, wie funktionieren diese Funktionen asynchron?Was ist der Mechanismus hinter startActivityForResult() in Android?
Antwort
Aber soweit ich es verstehe, startActivityForResult() ist asynchronious was bedeutet, dass meine neue Aktivität wird in einem anderen Thread ausgeführt werden.
startActivityForResult()
ist asynchron. Das bedeutet nicht, dass Ihre neue Aktivität in einem anderen Thread ausgeführt wird. Wenn die neue Aktivität Teil Ihrer eigenen Anwendung ist, wird sie wie alle Ihre anderen Aktivitäten im Hauptanwendungs-Thread ausgeführt.
Wenn es nur einen GUI-Thread gibt, wie funktionieren diese Funktionen asynchron?
startActivityForResult()
, wie startActivity()
, tut nichts sofort. Stattdessen wird eine Nachricht in eine Nachrichtenwarteschlange gestellt und dann zurückgegeben. Wenn Sie die Steuerung wieder an Android zurückgeben (z. B. endet Ihre onClick()
-Methode), geht Android zur Verarbeitung von Nachrichten aus dieser Warteschlange zurück. Wenn es zu Ihrer Startaktivitätsnachricht kommt, startet es die neue Aktivität.
übergeben Sie alle gewünschten Informationen in Form von Extras in Ihrer Absicht.
Intent i = new Intent(getApplicationContext(), YourClass.class);
i.putExtra("EXTRA_INFO", <your info here>);
startActivityForResult(i);
Und in Ihrer neuen Tätigkeit
protected void onCreate(Bundle savedInstanceState) {
if(getIntent().hasExtra("EXTRA_INFO"){
mString = getIntent().getStringExtra("EXTRA_INFO");
}
}
- 1. Was ist der Mechanismus hinter Sichthelfern?
- 2. Was ist der Mechanismus hinter namenlosen Klammern in der linken Zuweisung, wie in initramfs?
- 3. Was ist Name Lookup-Mechanismus?
- 4. Was hinter Chat Android App
- 5. Was ist der Algorithmus hinter ST_LineMerge()?
- 6. Was ist Logik hinter Super.Methode oder nach Super.Methode in Android?
- 7. Was ist der Algorithmus hinter Minesweeper Generation
- 8. Was ist der Trick hinter diesem Code?
- 9. startActivityForResult innen startActivityForResult
- 10. Android getSharedPreferences startActivityForResult intermittierende Fehler
- 11. Was ist der beste Caching-Mechanismus für .NET-Webanwendungen?
- 12. Was ist der Unterschied zwischen dem Submit-Mechanismus des Client-Browsers und dem ASP.NET-Postback-Mechanismus?
- 13. Android Programmflusskontrolle in Anwesenheit von startActivityForResult Anruf
- 14. Was ist das Konzept hinter R.java?
- 15. Android: startActivityForResult gestoppt Aufruf onActivityResult
- 16. Was ist der Algorithmus hinter dem Faktor-Befehl in Linux?
- 17. Android - Wie StartActivityForResult() in den Tabs
- 18. Android Listview-Recycle-Mechanismus
- 19. Was ist der Trick hinter der physischen IP-Adresse?
- 20. Was ist die Logik hinter diesem Programm?
- 21. vim-Airline: "Hinter [1]" Was ist
- 22. Was ist die Datenstruktur hinter Clojures Sets?
- 23. Android startActivityForResult versucht, fecth Bild aus der Galerie Fehler
- 24. Was ist die Geschichte hinter der Funktor-Klasse?
- 25. Was die Magie hinter int64_t ist
- 26. Was ist der Grund hinter Vektor push_back Fehler
- 27. requestCode-Parameter in startActivityForResult
- 28. iOS: Wie Verhalten wie Android startActivityForResult
- 29. Was ist der Mechanismus, der `+` funktioniert, wenn er in einer leeren Umgebung durch + definiert wird?
- 30. Was ist der zugrundeliegende Mechanismus für die Synthese von Ivar in der modernen Objective-C-Laufzeit?