|
| Iniciado por jcl17, 19,ene. 2026 15:00 - 8 respuestas |
| |
| | | |
|
| |
Miembro registrado 226 mensajes |
|
| Publicado el 19,enero 2026 - 15:00 |
Bonjour à tous,
j'essaie de tracer un parcours sur une carte, pas de problème les points géoposition s'affichent bien.
là ou j'ai un problème c'est lorsque mon application passe en arrière plan, bien sûr j'ai toutes les autorisations y compris en mode arrière plan, je log bien le passage en arrière plan et remise en avant plan.
il me semble que le callback du gpssuitdeplacement s'interrompt et je pensais inscrire les geopositions dans un fichier local afin de pouvoir les reprendre dès que l'on passe en avant plan........ mais là je cale !
quelqu'un a-t-il déjà fait cela et peut-il me donner sa solution ?
merci d'avance
-- Jean-Claude Lequeux |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 1.201 mensajes |
|
| Publicado el 20,enero 2026 - 07:06 |
Salut. Oui je fais cela. Est-ce-que tu stockes la nouvelle position même quand tu es en arrière plan ? Pour ma part, je fais (dans le callback)
Procedure GPS_SUIVI_DEPLACEMENT(MaRefreshPosition est une geoPosition) locali est un entier=0 localj est un entier=0 sDirection est une chaîne
bAdd est un booléen=Faux
mMarqueur est un Marqueur myLongitude est un réel=0 myLatitude est un réel=0
gMaVraiPosition=MaRefreshPosition
SI EnModeArrièrePlan() ALORS SI gbTraceActive=Vrai AND gniDTrace<>0 ALORS SI MaRefreshPosition..DirectionValide = Vrai ET MaRefreshPosition..PositionValide=Vrai ET MaRefreshPosition..VitesseValide=Vrai ET MaRefreshPosition.PrécisionValide=Vrai ALORS SI MaRefreshPosition..Vitesse>0 ALORS localj = MaRefreshPosition..Direction/22.5 locali = Arrondi(localj,0) SI locali=0 ALORS sDirection = "N/A" SINON sDirection = ROSE_DES_VENTS(locali) FIN FIN FIN POSITIONS.IDTRACE = gniDTrace POSITIONS.LATITUDE = MaRefreshPosition.Latitude POSITIONS.LONGITUDE = MaRefreshPosition.Longitude POSITIONS.DIRECTION = sDirection HAjoute(POSITIONS) gniDPosition=POSITIONS.IDPOSITIONS Ajoute(gsTabPositions,MaRefreshPosition) FIN RETOUR FIN
-- Pascal Boulesteix Applications Visiolittoral et WNat |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 226 mensajes |
|
| Publicado el 20,enero 2026 - 10:15 |
Merci Pascal, je vais m'en inspirer.
j'essaye de suivre un tracé de randonnée, pour la visu de la trace sur la carte c'est ok par contre pour avoir une vitesse moyenne cohérente et filtrant les mesures aberrantes quelle galère ! je ne sais pas comment tu fais ?
quand à l'altitude la marge d'erreur me paraît très importante, par contre le calcul des dénivelés + et - me semble correct
merci de ta réponse
-- Jean-Claude Lequeux |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 226 mensajes |
|
| Publicado el 30,enero 2026 - 13:34 |
Bonjour,
je reviens vers vous sur le sujet, j'utilise bien gpssuitdeplacement avec 1s et 2m dans mon callback en fonction de l'arrière plan ou du premier plan je charge bien mes points géo dans des tableaux différents et à la reprise en premier plan je récupère les ponts AR pour les tracer sur la carte.
les permissions sont bien demandées
j'ai mis un log en place pour tracer les différentes étapes
je m'aperçois en testant (en GO ou en Play store test) qu'en premier plan tout va bien mais par contre après le passage en arrière plan rien ne se passe et je ne passe plus dans mon callback apparemment.
avez-vous une solution ?
-- Jean-Claude Lequeux |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 313 mensajes |
|
| Publicado el 30,enero 2026 - 14:22 |
Bonjour,
J'utilise GPSSuitDéplacement avec 5s et 5m et je ne rencontre aucun problème en arrière plan.
Cela dit, quelques précisions s'imposent : - Je déclare GPSInitParamètre(gpsAuto,gpsPrécisionElevée) et GPSSuitDéplacement(GPSSuitCallback,5s,5) dans le code d'initialisation du projet. - Ensuite (toujours dans le code d'initialisation du projet), je lance un Thread "persistant" avec le paramètre "thpLocalisation" de manière à ce que l'application (et notamment le suivi GPS) continue de fonctionner même si les fenêtres ont été fermées (ou passées en arrière plan)
Plus d'infos ici : https://doc.pcsoft.fr/fr-FR/?1000020584&productversion=xxA305067
Cordialement, Fabrice |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 313 mensajes |
|
| Publicado el 30,enero 2026 - 14:30 |
| |
| |
| | | |
|
| | |
| |
| Publicado el 30,enero 2026 - 15:17 |
Merci Fabrice pour ta réponse,
j'avais bien regardé le Thread persistant mais malheureusement je n'ai pas trouvé comment le coder, pourrais-tu me donner un exemple ? mon callback de gpssuitdeplacement est la procédure SuiviGPS
Cordialement JC
Fabrice N a écrit :
Bonjour, J'utilise GPSSuitDéplacement avec 5s et 5m et je ne rencontre aucun problème en arrière plan. Cela dit, quelques précisions s'imposent : - Je déclare GPSInitParamètre(gpsAuto,gpsPrécisionElevée) et GPSSuitDéplacement(GPSSuitCallback,5s,5) dans le code d'initialisation du projet. - Ensuite (toujours dans le code d'initialisation du projet), je lance un Thread "persistant" avec le paramètre "thpLocalisation" de manière à ce que l'application (et notamment le suivi GPS) continue de fonctionner même si les fenêtres ont été fermées (ou passées en arrière plan) Plus d'infos ici : https://doc.pcsoft.fr/fr-FR/?1000020584&productversion=xxA305067Cordialement, Fabrice |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 313 mensajes |
|
| Publicado el 30,enero 2026 - 16:27 |
Bonjour,
Il n'y a pas grand chose à faire. C'est assez bien expliqué dans l'aide en ligne.
Dans le code d'init du projet :
GPSInitParamètre(gpsAuto, gpsPrécisionElevée) GPSSuitDéplacement(SuiviGPS, 5s, 5)
ThreadExecute("MonThread1", threadContexteGlobal, LeThreadPersistant)
Notif est une Notification Notif.Titre = "Message à afficher" Notif.ActionClic = "" Notif.Supprimable = Faux ThreadPersistant("MonThread1", Notif, thpLocalisation)
La procédure "thread persistant" (qui ne fait rien) :
Procedure LeThreadPersistant() TANTQUE PAS ThreadArrêtDemandé() ThreadPause(1s) FIN
Si tu veux arrêter ton application "proprement", il faut : 1) Arrêter le suivi GPS par : GPSTermine() 2) Arrêter le thread persistant par : ThreadDemandeArrêt("MonThread1") 3) Fermer la fenêtre ou faire un FinProgramme()
A toi d'adapter ce code en fonction de tes besoins...
Cordialement, FabriceMensaje modificado, 30,enero 2026 - 16:30 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 226 mensajes |
|
| Publicado el 30,enero 2026 - 17:13 |
Merci Fabrice c'est super, bien sûr j'ai conditionné le code thread par un typeconfiguration = android

jc
-- Jean-Claude Lequeux |
| |
| |
| | | |
|
| | | | |
| | |
|