Je conçois une application qui a pour tâche récurrente d'envoyer la présence à un serveur dédié tant que l'application est au premier plan.
Dans mes recherches sur le Web, j'ai vu quelques approches différentes et je voulais savoir quelle est la meilleure façon de procéder.
Quelle est la meilleure façon de planifier un appel serveur?
Les options que j'ai vues étaient:
Service .
BroadcastReciever avec AlarmManager .
Quelle est ton opinion?
EDIT:
La raison pour laquelle j'en ai besoin est pour une application basée sur le chat qui envoie toutes les actions de l'utilisateur à un serveur distant.
c'est-à-dire que l'utilisateur tape un message, l'utilisateur lit un message, l'utilisateur est en ligne, l'utilisateur est hors ligne, etc.
Cela signifie qu'une fois à chaque intervalle, je dois envoyer au serveur ce que je fais, puisque j'ouvre une salle de chat avec d'autres personnes, elles doivent savoir ce que je fais.
Similaire au mécanisme de retour de message WhatsApp:
EDIT # 2:
Les tâches récurrentes doivent maintenant être planifiées presque toujours via l' JobScheduler
API (ou FirebaseJobDispatcher
pour les API inférieures) afin d'éviter les problèmes d'épuisement de la batterie, comme on peut le lire dans la section vitales de la formation Android
EDIT # 3:
FirebaseJobDispatcher a été abandonné et remplacé par Workmanager , qui intègre également les fonctionnalités de JobScheduler.