j'ai un seul appareil (HTC HD Deside) pour tester mes applications et quand je veux obtenir des données GPS avecrequestLocationUpdate prend trop de temps
locationManager.requestLocationUpdate(criteria,0,0,this); //critera = "gps"
icône GPS apparaît dans la barre de notification, mais il « clignote » , comme si cela signifiait que mon appareil recherche et obtient les données GPS. En conséquence, mes applications prennent trop de temps de "réflexion" avant d'obtenir des données GPS (~ 1mn à 3mn!) (Avant que l'icône ne clignote)
Donc, je suis obligé de créer une instruction while comme ceci:
do{
lastLocation = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
}while(System.currentTimeMillis() - lastLocation.getTime() > 5000);
Merci, je suis sûr d'obtenir un emplacement récemment, mais j'ai perdu trop de temps.
Quel est le problème? Est-ce le matériel? Puis-je trouver un meilleur moyen de résoudre ce problème? Puis-je obtenir "rapidement" les données GPS? :/(1 ~ 5 sec)
Avez-vous besoin de la granularité plus fine de GPS ou pourriez-vous vous débrouiller avec un autre fournisseur? –
J'ai besoin d'utiliser le GPS car mon application sera utilisée dans un endroit sans wifi/internet ^^ Donc, je dois utiliser le GPS (le seul moyen d'obtenir des données latitude/longitude/altitude n'importe où?) – user2137454
Vous n'avez pas besoin d'attendre (ou sondage) pour le dernier emplacement connu. L'écouteur d'emplacement sera appelé dès qu'un correctif est disponible. Le dernier emplacement connu peut être utile si un correctif est disponible à partir d'une demande GPS antérieure. Si aucun n'est disponible, null est retourné (ce qui, d'ailleurs, ferait planter votre boucle). – Stefan