|
|
|
|
ThreadPersistant (Fonction) En anglais : ThreadPersistent Rend un thread persistant. L'application n'est pas arrêtée tant qu'au moins un thread persistant est en cours d'exécution (même si toutes ses fenêtres ont été fermées). L'utilisation d'un thread persistant permet par exemple : - de continuer la lecture d'un morceau de musique même si la fenêtre de lecture est fermée.
- de transmettre des coordonnées GPS de façon permanente.
// Lancement du thread déclenchant la lecture d'un morceau de musique ThreadExécute("MonThread", threadContexteGlobal, ProcJoueMusique) // Crée la notification à afficher pendant la lecture du morceau de musique Notif est une Notification Notif.Titre = "Lecture en cours ..." Notif.ActionClic = ProcStopMusique // Rend le thread persistant pour empêcher la fermeture de l'application // tant que le thread n'est pas terminé ThreadPersistant("MonThread", Notif) Syntaxe
<Résultat> = ThreadPersistant(<Nom du thread> , <Notification à afficher>)
<Résultat> : Booléen - Vrai si le thread a été rendu persistant,
- Faux en cas d'erreur. Pour connaître le libellé de l'erreur, utilisez la fonction ErreurInfo avec la constante errMessage.
<Nom du thread> : Chaîne de caractères Nom du thread qui doit devenir persistant. Ce nom est donné lors de l'exécution du thread (fonction ThreadExécute). Ce thread doit exister et utiliser le contexte global de l'application. <Notification à afficher> : Variable de type Notification Nom de la variable de type Notification correspondant à la notification à afficher pendant l'exécution du thread persistant. Cette notification ne doit pas être déjà affichée. Si un thread persistant est en cours d'exécution au moment de l'appel de la fonction ThreadPersistant, la notification associée à ce thread sera remplacée par la notification spécifiée. Lorsque le thread aura terminé son exécution, la notification sera automatiquement masquée si plus aucun thread persistant n'est en cours. Remarques - L'affichage d'une notification pendant l'exécution d'un thread persistant est obligatoire. Ainsi, l'utilisateur est informé que l'application qu'il a lancée est toujours en cours d'exécution même si plus aucune fenêtre n'est ouverte. Il peut reprendre la main sur cette application lors du clic sur la notification.
Il est également possible de relancer l'application lors du clic sur la notification : il suffit de renseigner la propriété ActiveApplication dans la variable de type Notification. - Conseil : Ne pas ouvrir de fenêtre depuis un thread persistant. Les fenêtres peuvent être ouvertes par exemple depuis la procédure appelée par la notification.
- L'optimisation de l'utilisation de la batterie intégrée à partir de la version 10 de Android peut interrompre un thread rendu persistant par la fonction ThreadPersistant. Dans ce cas, la fonction SysOptimBatterieArrièrePlan permet d'autoriser l'application à utiliser la batterie et donc permet également de conserver le thread persistant.
Ce thème est abordé dans le billet suivant du blog du Support Technique : https://blogs.pcsoft.fr/fr/thread-persistant-tache-arriere-plan-solution-retenir-action-fond-application-android/281474976710897/read.awp.
Liste des exemples associés :
|
Android (WINDEV Mobile) : Android Notifications Persistantes
[ + ] Cet exemple permet de créer des notifications persistantes qui apparaissent même si l'application n'est plus utilisée. Un thread persistant lancé au démarrage de l'appareil permet d'envoyer les notifications.
|
Composante : wd280android.jar
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|