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

 

En fait, il s'agit de mettre en oeuvre différentes choses...

 

Dans le fichier AndroidManifest.xml, il faut positionner une permission:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

Cette permission demande à ce que votre application soit autorisée à être informée lorsque l'appareil a terminé de s'initialiser.

Pour recevoir cette information, il faut créer un broadcast receiver:

 

C'est ce broadcast receiver qui lancera notre service,

 

Il reste à déclarer ce broadcast receiver dans le fichier AndroidManifest.xml entre les balises applications:

<receiver android:name="com.example.MonBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>

Faire de même avec le service:

<service android:name="fr.free.supertos.service.MonServiceAutoRun" />

Dans le service, vous pourrez alors lancer un thread lors du onCreate du service. Thread qui dort et boucle sur lui même, avec un handler pour pouvoir communiquer avec le service par exemple.

 

... et le tour est joué !

Image non trouvée !Le service bouclant dans son thread, celui-ci est passé en premier plan afin de ne pas se faire détruire au bout d'un certains temps par le système.