|
- Présentation
- Mise en place
- Sous l'éditeur
- Par programmation
- Fonctionnement
- Spécificités
- Spécificités Android
- Spécificités iOS
Continuer à exécuter un traitement quand l'application est en arrière-plan est souvent utile sur mobile : - rappel de rendez-vous (afficher une notification),
- calcul de chiffre d'affaires en temps réel,
- récupération de données, ...
Le traitement doit simplement être présent dans une procédure. Il suffit d'indiquer à quelle fréquence cette procédure doit s'exécuter. Entre les appels, la procédure ne consomme ni batterie ni CPU. Sous l'éditeur Pour automatiser une procédure : - Affichez le code de la procédure.
- Affichez la fenêtre de description des automatismes de la procédure :
- Cliquez sur l'icône
présente dans le bandeau de la procédure. - Sélectionnez l'option "Paramétrer les automatismes de la procédure" dans le menu contextuel de la procédure (volet "Explorateur de projet").
- Sélectionnez l'option "Propriétés" du menu contextuel de la procédure dans le volet "Code".
- Dans la fenêtre qui s'affiche, sélectionnez le type d'automatisme : "Exécution périodique lorsque l'application est en arrière-plan".
- Spécifiez l'intervalle de temps (en minutes). Cet intervalle est l'intervalle de temps minimum entre deux exécutions de la tâche. Permet de garantir que la tâche ne sera pas exécutée durant cet intervalle de temps. En revanche, le système peut augmenter l'intervalle de temps en fonction de différents facteurs (charge d'utilisation importante, batterie faible, ...). L'intervalle de temps réel peut donc varier et être relativement long (plusieurs heures).
- Validez.
Par programmation Pour ajouter une tâche en arrière-plan, utilisez la fonction TâcheEnArrièrePlanAjoute. Remarque : Il est également possible de manipuler les tâches en arrière-plan via les fonctions suivantes :
Fonctionnement Une fois ajoutée, la tâche en arrière-plan est automatiquement exécutée par le système à intervalle régulier. La tâche est persistante, elle continuera à être exécutée périodiquement lorsque l'application est arrêtée, même après redémarrage de l'appareil. Si la tâche est déclenchée alors que l'application n'est pas lancée, l'application sera lancée en arrière-plan (sans ouvrir la première fenêtre du projet), les traitements d'initialisation du projet et de déclaration des classes et collections de procédures seront exécutés avant d'appeler la procédure associée à la tâche. La tâche sera exécutée uniquement lorsque l'application n'est pas lancée ou lorsque l'application est en arrière-plan. Si l'application se trouve au premier plan, son exécution sera reportée. La tâche pouvant être exécutée dans un thread secondaire de l'application, le code de la procédure WLangage ne doit donc contenir aucun accès à l'UI de l'application ni aucune ouverture de boites de dialogue (via les fonctions Info, Erreur, etc.). Si la tâche doit interagir avec l'utilisateur, il est possible d'utiliser les notifications ( fonctions Notifxxx).
|
|
|
|
|
|
|