2 votes

Comment puis-je lancer l'enregistrement des traces GPS à partir d'une intention ?

J'aimerais lancer et arrêter automatiquement l'enregistrement d'une trace GPS en envoyant une intention, par exemple à partir de Tasker. Peu importe l'application utilisée pour enregistrer la trace GPS, et ce n'est pas grave si je dois la configurer moi-même au préalable, mais cela ne devrait pas nécessiter d'interaction de la part de l'utilisateur lorsque j'envoie l'intention. Je veux juste envoyer l'intention et faire en sorte que l'enregistrement commence immédiatement, et plus tard (lorsque mon profil Tasker a détecté que j'ai atteint la fin de l'itinéraire) arrêter automatiquement l'enregistrement et sauvegarder la trace pour que je puisse la revoir plus tard.

Je ne me soucie pas non plus de savoir si le résultat final est une piste à laquelle je ne peux accéder que dans l'application qui l'a enregistrée, ou un fichier GPX qui est sauvegardé quelque part, ou quelque chose qui est téléchargé automatiquement sur un site web.

4voto

Andy Brudtkuhl Points 1714

Il y a une application libre d'enregistrement des traces GPS appelée GPSLogger . Il dispose de raccourcis pour démarrer et arrêter, et publie également les détails d'intention nécessaires, de sorte que vous pouvez démarrer et arrêter l'enregistrement sans avoir à interagir avec le téléphone. Vous pouvez également le configurer à l'avance (via les paramètres de l'application) pour enregistrer des fichiers dans différents formats et/ou les télécharger sur Dropbox, OpenStreetMap ou d'autres sites de votre choix.

Je suis sûr qu'il existe d'autres applications avec la même fonctionnalité.

2voto

Milner Points 533

Comme vous l'avez déjà mentionné Tasker Cela devrait être possible avec ce seul outil, bien que le profil puisse être un peu délicat (complexe) à construire. Pour trouver les conditions/actions nécessaires, j'ai juste ajouté quelques graphiques à mon fichier Ressources de Tasker :

Tasker graph
Graphique de la disponibilité Tasker conditions et actions (en date de 12/2014 ; cliquez sur l'image pour une variante plus grande)

Actions à utiliser pour cela :

  • Localisation ' Obtenir la localisation
    (les données de correction sont stockées dans les variables %LOC correspondantes, voir l'onglet Section Variables du guide de l'utilisateur .)
  • Fichier ' Écrire le fichier
    (Si la case Append est cochée, le texte est ajouté à la fin du fichier sans modifier le contenu existant).
  • Emplacement ' Emplacement de l'arrêt
    (Ceci n'est nécessaire que si le paramètre Keep Tracking est coché dans Get Location). - mais c'est probablement ce que vous devez faire.

En gros, cela donne un aperçu de votre tâche - juste dans le deuxième point, vous devrez évaluer le %LOC dans une boucle. Pseudo-Code : "While (not-reached-target) do : (evaluate %LOC ), (écrire le fichier), (attendre X secondes)". Comme la condition de fin de boucle est une, hm, condition, vous aurez probablement besoin d'une approche légèrement différente :

  • avant la boucle, définissez une variable personnalisée, par ex. %TRACKING_ACTIVE = 1
  • ont un profil qui tire sur cette variable. Conditions :
    • %TRACKING_ACTIVE ~ 1
    • emplacement actuel ~ cible
  • la tâche de ce profil alors : Variables ' Ensemble de variables ( %TRACKING_ACTIVE = 0 )
  • votre "condition de sortie" pour la boucle while ci-dessus est alors : %TRACKING_ACTIVE ~ 0

Il s'agit d'un "plan brut" pour vous aider à démarrer. Je n'ai pas le temps de l'essayer moi-même et d'envoyer le profil prêt à l'emploi, désolé :) Et bien sûr, vous devez déterminer le format du fichier - mais bon, vous êtes un développeur :) AFAIK GPX devrait être facile, KML aussi, car les deux sont des formats basés sur le texte (XML).

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X