Posten aus anderen Threads im Hauptthread
In Android-Diensten ist es oft notwendig, dass Hintergrundthreads mit dem Hauptthread interagieren, B. das Veröffentlichen von Runnables in der Nachrichtenwarteschlange. Um dies zu erreichen, ziehen Sie die folgenden Lösungen in Betracht:
Lösung 1: Verwendung eines Kontextobjekts
Wenn der Hintergrundthread Zugriff auf ein Kontextobjekt (z. B. Anwendung oder Dienst) hat Kontext) kann es einen Handler für den Hauptthread erhalten mit:
Handler mainHandler = new Handler(context.getMainLooper());
Anschließend können Sie ein Runnable wie folgt im Hauptthread posten Dies:
mainHandler.post(myRunnable);
Lösung 2: Verwenden von Looper.getMainLooper()
Wenn der Hintergrundthread kein Kontextobjekt hat, können Sie trotzdem die des Hauptthreads abrufen Looper mit:
Handler mainHandler = new Handler(Looper.getMainLooper());
Damit können Sie Runnables im Hauptthread posten als na ja:
mainHandler.post(myRunnable);
Das obige ist der detaillierte Inhalt vonWie poste ich Runnables von Hintergrundthreads im Hauptthread in Android?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!