Je me demandais s'il était possible d'appeler des méthodes spécifiques définies dans la classe AsynTask à partir d'une autre classe et/ou service? Dans mon cas spécifique, j'ai un service de jouer des sons, mais le son est sélectionné dans une liste avec les sons disponibles ...Appelez les méthodes AsyncTask d'une autre classe/service (callbacks?)
Lorsqu'un son est sélectionné, il est téléchargé à partir de mon serveur domestique, cela prend un certain temps (pas beaucoup, disons autour des 3-4 secondes, les sons/effets ne sont pas de grande taille) ... Donc mon problème pour le moment est que j'ai un service pour jouer ces sons, et quand j'en sélectionne un que je voulais pour montrer un dialogue de progression ... Le moyen (si j'ai bien compris) est d'utiliser un AsyncTask, mais la seule chose que l'AsyncTask fera est de dire à mon Service de jouer un son spécifique de mon serveur ... Donc il n'y a pas de "callback" "Du service à l'Asynctask ...
Comment puis-je y parvenir? Comment puis-je appeler une asyncTask en cours d'exécution, qui se trouve dans une autre classe, et lui dire que tout le travail est fait et donc il peut cesser d'afficher le ProgressDialog? Ou est-ce que je le surpasse et il y a d'autres façons? Merci d'avance ...
Je me demandais juste ici, un service est un thread solitaire non? SO Je voudrais démarrer un AsyncTask (qui est aussi un thread), celui-ci devrait communiquer à mon service qu'il peut commencer à jouer, quand MediaPlayer de mon service a atteint l'état préparé, il devrait indiquer mon AsyncTask afin qu'il cesse d'afficher un ProgressDialog ... Cest ce que je veux mettre en œuvre, alors maintenant il question est: mon service peut-il envoyer des commandes/mises à jour à un AsyncTask déjà en cours d'exécution? – TiGer
Pourquoi voulez-vous dire quelque chose à la tâche asynchrone? La tâche devrait indiquer quelque chose au service. – Janusz
@TiGer: NON. Un service ne fonctionne PAS dans son propre thread. Les processus longs d'un service verrouillent l'interface utilisateur. – Falmarri