Android - Avoir un service courir tous les jours à 4 heures
-
26-09-2019 - |
Question
Je voudrais connaître les meilleures pratiques pour l'exécution d'un service tous les jours à 4 heures.
La façon dont je pense je devrais le faire est de créer une nouvelle alarme répétitive à l'aide AlarmManager et l'avoir dirigé le service à 4h du matin. Le problème est, je ne suis pas sûr où placer le code pour régler l'alarme.
Dois-je le fais dans mon activité principale comme l'une des premières tâches de la méthode OnCreate? Est-ce que je fais des trucs funky avec BroadcastReceivers et les intentions? Qu'est-ce qui se passe lorsqu'un utilisateur met à jour mon application? Qu'est-ce qui se passe quand un utilisateur redémarre?
Toute aide à ces questions serait très apprécié :) Exemple de code serait utile aussi bien!
Bara
La solution
Vous pouvez programmer votre alarme chaque téléphone bottes de temps et chaque fois que votre application démarre. Pour écouter l'événement de démarrage de téléphone, vous pouvez utiliser BroadcastReceiver.
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
.
.
.
<receiver android:name=".BootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
Pour un échantillon complet, vous pouvez jeter un oeil à l'application http: // Code .google.com / p / apps-for-androïde . Il utilise exactement la même approche.