Bonjour à tous,
Je cherche à savoir qu'elle est la différence entre un Service et un Broadcast receiver en Android, alors que avec les deux on peut effectué des tâches en ''Background''.
Version imprimable
Bonjour à tous,
Je cherche à savoir qu'elle est la différence entre un Service et un Broadcast receiver en Android, alors que avec les deux on peut effectué des tâches en ''Background''.
Et non.... ce n'est pas du tout la même chose...
On peut représenter le 'service' comme une activité sans interface (sans UI).
Avec les mêmes restrictions (en particulier en terme de réactivité aux Intents).
Le BroadcastReceiver est une classe instanciée par le système le temps d'un event... Il sera détruit assez rapidement... Impossible par exemple de faire une action longue (accès fichiers / internet / db) directement depuis un receiver, sauf cas très particulier.
La plupart du temps, le BroadcastReceiver va d'ailleurs utiliser un service pour executer l'action en fonction de l'intent recu.
Justement non. Un BroacastReceiver n'est pas un processus d'arrière-plan, mais permet d’exécuter une portion de code suite à un évènement diffusé (par le système le plus souvent). Typiquement, un BroacastReceiver peut démarrer un service.
:ccool: Merci pour vous nicroman et Hephaistos007, vos réponse me permettent de bien cerner la différence.