Maison > Java > javaDidacticiel > Comment publier des tâches sur le fil de discussion principal Android à partir d'un autre fil de discussion ?

Comment publier des tâches sur le fil de discussion principal Android à partir d'un autre fil de discussion ?

Mary-Kate Olsen
Libérer: 2024-12-09 04:59:18
original
259 Les gens l'ont consulté

How to Post Tasks to the Android Main Thread from Another Thread?

Publication de tâches sur le fil de discussion principal à partir d'un autre fil de discussion du service Android

Dans les services Android, lors de la création de fils de discussion pour des tâches en arrière-plan, il peut être nécessaire de publier certaines tâches, comme Runnables, sur la file d'attente des messages du fil principal provenant d'un autre fil.

Pour y parvenir, Android propose deux solutions :

Utiliser un objet Contexte

Si le fil d'arrière-plan a une référence à un objet Contexte, vous pouvez accéder au gestionnaire du fil principal comme ceci :

// Get a handler that can be used to post to the main thread
Handler mainHandler = new Handler(context.getMainLooper());

Runnable myRunnable = new Runnable() {
    @Override 
    public void run() {....} // This is your code
};
mainHandler.post(myRunnable);
Copier après la connexion

Sans Utilisation d'un objet Context

Si le thread d'arrière-plan n'a pas d'objet Context, vous pouvez accéder directement au Looper du thread principal et créer un Gestionnaire :

// Get a handler that can be used to post to the main thread
Handler mainHandler = new Handler(Looper.getMainLooper());

Runnable myRunnable = new Runnable() {
    @Override 
    public void run() {....} // This is your code
};
mainHandler.post(myRunnable);
Copier après la connexion

Avec l'une ou l'autre de ces approches, vous pouvez publier des tâches dans la file d'attente des messages du fil principal et vous assurer qu'elles sont exécutées dans le fil principal, ce qui vous permet de mettre à jour les composants de l'interface utilisateur ou d'effectuer d'autres opérations nécessitant un accès. aux principales ressources de l'application.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal