2017-08-22 4 views
0

J'ai une asynctask qui dure plus longtemps que je voudrais que mes utilisateurs attendent à l'écran de soumission. J'utilise actuellement asynctask.get (..) mais je souhaite que mes utilisateurs puissent continuer à utiliser l'application pendant que l'asynctask s'exécute en arrière-plan.Afficher le message AsyncTask terminé, mais l'utilisateur est dans une activité différente

Comment afficher un message à l'utilisateur lorsque mon asynctask ne contient pas de référence au contexte actuel?

Merci

+0

Vous auriez un WeakReference ou un callback d'interface, pas tout le contexte ou l'activité –

Répondre

2

Je ne pouvais pas undestand très bien votre problème, mais rappelez-vous ceci:

Si votre AsyncTask terminer son travail et vous avez des références à une activité détruite, vous pouvez obtenir des exceptions de pointeur nul et votre application crash.

Aussi AsyncTaks ne sont pas conçus pour effectuer des tâches longues, peut-être votre meilleure option utilise IntentService et si vous souhaitez notifier à l'interface utilisateur, vous pouvez utiliser BroadcastReceivers.

+1

Salut, merci pour votre réponse. Il semble que IntentService soit ce dont j'ai besoin. Je télécharge des images et des vidéos sur un serveur en arrière-plan et je souhaite que mon utilisateur puisse utiliser librement l'application (passer d'une activité à l'autre) et être averti lorsque le téléchargement est terminé. Je vais regarder plus en détail et marquer votre réponse comme correcte si c'est ce dont j'ai besoin. Merci – Rik1988