Pierre87 Posté(e) 3 mai 2010 Share Posté(e) 3 mai 2010 Dans mon application, j'ai besoin à un moment donné de récupérer la position de l'utilisateur. J'ai 2 critères sur la récupération de la position : - la rapidité de la récupération (ça ne doit pas prendre plus de 1-2 seconde) - la précision est moyennement importante (100-200m me convient) Problème : le GPS est extrêmement long à s'initialiser. En temps normal, il met plusieurs secondes à me donner sa première position Quand je suis en intérieur, ça peut prendre 1 minute pour capte le GPS. J'ai pensé à une astuce : combiner la localisation réseau à la localisation GPS Ca me donne assez rapidement (moins de 5s) une position approximative (500 m) Mais ça ne rentre toujours pas dans mes critère. Une autre solution qui me parait intéressante : lancer le processus de localisation au lancement de mon application Je peux donc récupérer à tout instant dans mon application la position de l'utilisateur RAPIDEMENT Que pensez vous de cette solution ? Petit soucis : quand couper le système de localisation ? Je dois savoir quand mon application devient inactive. J'ai fais un sujet sur ce point : https://forum.frandroid.com/forum/viewtopic.php?id=12369 Merci ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Igosuki Posté(e) 3 mai 2010 Share Posté(e) 3 mai 2010 Il y a plusieurs méthodes pour plusieurs états. Création de l'appli : onCreate/onDestroy Affichage à l'écran : onStart/onStop A toi de voir ce dont tu as besoin. Sinon pour ta solution, mettons que ton appli est la seule à vouloir utiliser le GPS à un moment T, il semblerait que lancer un service qui sauvegarde la position soit la seule solution pour être rapide. L'idéal serait de se connecter une première fois au démarrage du phone ou de l'appli au choix, puis de rafraichir en essayant de réutiliser la même connexion GPS qu'avant. Si tu souhaites que la contrainte de rapidité soit respectée uniquement lorsque l'utilisateur est entrain d'utiliser l'application, alors effectivement il faut le lancer au départ, et rafraîchir toutes les x secondes avec un Broadcast qui tue le service si il n'obtient pas de réponse, mais 2 secondes me paraît assez court. Je veux dire que Google Maps n'est pas aussi rapide ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.