Comment utiliser une intention de mettre à jour une activité?
J'ai un service qui est le téléchargement d'un fichier. Lorsque le téléchargement est terminé, je voudrais mettre à jour mon "fichiers Téléchargés" liste dans mon Activity
, mais seulement si le Activity
est en cours d'exécution. Je ne veux pas le Activity
pour commencer si ce n'est pas déjà en cours d'exécution.
J'espérais que je pourrais le faire en créant un nouveau Intent
avec certains drapeau spécial.
Quelqu'un a une idée comment je peux faire? Un petit exemple de code peut-être?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez créer de nouveaux BroadcastReceiver instance et de faire quelque chose le long de ces lignes sur votre Activité onResume() méthode:
Après cela, remplacer myReceiver de onReceive() permet d'appeler une fonction qui met à jour le composant que vous souhaitez:
Sur votre Activité onPause() la méthode, juste annuler l'inscription du récepteur:
J'espère que cela peut vous aider, n'hésitez pas à demander s'il y a quelque chose de pas clair.
La bonne façon de le faire est de lier votre "fichiers Téléchargés" l'activité du service. Lorsque vous liez le service, dans la fonction onServiceConnected, enregistrer un Classeur de rappel. Ensuite, chaque fois que vous avez des nouvelles données disponibles, le service, les appels de rappel. Si l'activité n'est pas en cours d'exécution, la liste de rappel au service côté sera vide, de sorte qu'il ne sera pas en informer votre activité.
Pour un exemple de cette approche, jetez un oeil à RemoteService.java dans Android SDK:
samples\ApiDemos\src\com\exemple\android\api\app\