Maison >Java >javaDidacticiel >Comment publier des exécutables depuis des threads d'arrière-plan vers le thread principal sous Android ?

Comment publier des exécutables depuis des threads d'arrière-plan vers le thread principal sous Android ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-04 18:52:12655parcourir

How to Post Runnables from Background Threads to the Main Thread in Android?

Publication depuis d'autres fils de discussion vers le fil de discussion principal

Dans les services Android, il est souvent nécessaire que les fils de discussion en arrière-plan interagissent avec le fil de discussion principal, comme la publication d'exécutables dans sa file d'attente de messages. Pour y parvenir, envisagez les solutions suivantes :

Solution 1 : Utilisation d'un objet contextuel

Si le thread d'arrière-plan a accès à un objet contextuel (par exemple, une application ou un service contexte), il peut obtenir un Handler pour le thread principal en utilisant :

Handler mainHandler = new Handler(context.getMainLooper());

Par la suite, vous pouvez publier un Runnable sur le thread principal comme ceci :

mainHandler.post(myRunnable);

Solution 2 : Utilisation de Looper.getMainLooper()

Si le thread d'arrière-plan n'a pas d'objet Context, vous pouvez toujours obtenir le principal Looper du thread en utilisant :

Handler mainHandler = new Handler(Looper.getMainLooper());

Cela vous permet de publier des exécutables sur le thread principal en tant que eh bien :

mainHandler.post(myRunnable);

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn