Les services

 

Les services sont des programmes lancés en arrière plan (il n'y aura donc aucune interface avec l'utilisateur). Ils servent à effectuer des traitements qui peuvent prendre du temps (chargement d'un fichier, traitement lourd) ou pour effectuer des traitements, conserver une connexion alors que l'activité qui utilise un service vient de perdre le focus (onPause, ...).

Un service pourra être lancé "manuellement" ou via une communication inter-processus (filtre d'intention).

Nous avons déjà croisé le chemin des services, ceux délivrés par le système (notifications ou les alarmes par exemple). Dans ce cas, nous demandions au système l'instance de ces services pour les utiliser car nous n'avons pas à les démarrer. Le demande passée alors par la méthode getSystemService().

 

Les chapitres

- Tout d'abord, les bases

  • Cycle de vie d'un service
  • La classe service
  • ANR
  • Déclarer un service
  • Démarrer un service explicitement
  • Stopper un service
  • Passage d'informations
  • Exemple très basique de service

 

...

...

- Démarrer un service après le boot de l'appareil

 

Annexe

Certains services peuvent être énergivores. Il sera donc préférable de vérifier l'état de la batterie avant, voire pendant l'exécution du traitement !