Bonjour à tous,
Après plus d'une semaine de recherche sur votre site comme sur d'autres, je me résous à poster un sujet sur votre forum. Si toutefois, le sujet a déjà été traité, je vous prie de bien vouloir m'excuser de ne pas l'avoir trouvé et me signaler, si c'est possible, où je peux le trouver. D'avance merci.
Pour récupérer un parcours de compétition avec la puce GPS d'un smartphone, j'ai écrit une petite application sous Android avec son ADT pour me familiariser à la programmation Java sous ce système. Elle n'est pas très originale car j'en ai rencontrées pas mal sur la toile.
Description sommaire : lors d'un parcours, en voiture, à pieds, en planeur, etc.., l'application capture les points de géolocalisation et les envoie par tronçon de trajectoire dans des courriels successifs vers un concentrateur qui les réceptionne et reconstitue le cheminement, ceci pour avoir une trace presqu'en temps réel. Pourquoi des courriels ? tout simplement pour que l'application du smartphone soit complètement déconnectée de l'application de concentrateur, un simple PC, toutes deux fonctionnant de manière asynchrone entre elles.
Avec l'AVD d'Android, l'application fonctionne comme je le souhaitais à une seule chose près : lors des envois des courriels, la technique de programmation que j'ai adoptée à la suite de ce que j'ai lu et vu dans les tutos provoque l'affichage de panneaux sur l'écran au travers desquels ils doivent être envoyés manuellement alors que je voudrais la procédure complètement transparente et automatique. J'aimerais bien pouvoir tester mon application avec un smartphone Android que je compte acquérir à la fin de mon engagement en décembre.
Qu'y a-t-il donc d’erroné dans le code que je vous présente ci-dessous :
où :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 /*********************************************************************************************** Méthode locale : envoi du tronçon de trajectoire par courriel ***********************************************************************************************/ public void envoiTroncon() { Intent emailIntent = new Intent ( android.content.Intent.ACTION_SEND) ; String[] recipients = new String[]{courriel,""} ; emailIntent.putExtra( android.content.Intent.EXTRA_EMAIL , recipients) ; emailIntent.putExtra( android.content.Intent.EXTRA_SUBJECT , "Poursuite GPS : " + String.valueOf(nbCourriels)) ; emailIntent.putExtra( android.content.Intent.EXTRA_TEXT , corpsMess) ; emailIntent.setType("text/plain") ; startActivity(Intent.createChooser( emailIntent , "Envoi du courriel " + String.valueOf(nbCourriels) ) ) ; }
- courriel est l'adresse électronique du concentrateur spécifié au début du lancement de l'application
- nbCourriels est le nombre de courriels envoyés
- corpsMess contient les points de géolocalisation du tronçon courant de trajectoire.
Les envois s'effectuent avec les deux type "text/plain" et "message/rfc822".
N'y aurait-il pas une autre manière d'écrire l'instruction "startActivity" qui provoque cet état de fait ?
En espérant votre éclairage, merci d'avance.
Bien cordialement.
Partager