Je souhaite utiliser un service pour implémenter une fonction qui exécute un morceau de code (extraire, soumettre au serveur via GET et ne pas ouvrir l'activité si elle peut être ouverte) à une heure programmée chaque jour (23h59 ). J'utilise TimerTask et Handler, mais ce n'est pas fiable, cela ne fonctionne pratiquement pas lorsque l'écran est éteint.
Plus tard, j'ai entendu parler d'AlarmManger et de JobScheduler. Après avoir lu la documentation, il semble qu'ils soient spécialement utilisés pour ouvrir Activity. Quel type de logique dois-je utiliser pour effectuer l'action de paiement automatique ?
.
AlarmManger n'est pas spécifiquement utilisé pour ouvrir l'activité. Il peut ouvrir la diffusion, le service et l'activité. Cela dépend de la façon dont vous instanciez l'intention lorsque vous créez la minuterie. Pour autant que je sache, l'heure à laquelle AlarmManger déclenche l'alarme comportera des erreurs et des inexactitudes pour différents téléphones mobiles, en particulier les machines Xiaomi. Cela peut être un problème avec l'horloge matérielle. Je ne sais pas grand chose des autres. Pour référence seulement.
Le contrôle d'Android devient de plus en plus strict, il est donc préférable de l'utiliser avec obéissance
.JobScheduler
吧,JobScheduler
L'intention de conception originale est de faire un usage raisonnable des ressources du téléphone mobile