Je travaille sur une application qui envoie par courriel l'emplacement GPS d'un téléphone à l'utilisateur - et il est très important que le téléphone envoie l'emplacement actuel, pas le emplacement depuis un moment.Android GPS ne pas mettre à jour malgré minTime de 0 et minDistance de 0
J'ai essayé quelques correctifs, tels que changer minTime et minDist, ainsi que supprimer (ou ne pas supprimer) l'auditeur lorsque vous avez terminé. Cette application ne doit être utilisée qu'à certains moments, cependant, et je veux une utilisation minimale de la batterie, donc le laisser fonctionner n'est pas une bonne option.
J'ai eu la chance avec une mise à jour si je mets le mintime à une petite quantité, et n'a jamais enlevé le LocationListener, auquel cas le deuxième message envoyé serait mis à jour, mais à part ça ...
Cela me fait penser que je dois lui donner plus de temps pour obtenir la localisation GPS, mais comment l'obligerais-je à le faire?
Dans cet esprit, j'ai essayé cet extrait:
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); LocationListener locationListener = new LocationListener() { @Override public void onStatusChanged(String provider, int status, Bundle extras) { // TODO Auto-generated method stub } @Override public void onProviderEnabled(String provider) { // TODO Auto-generated method stub } @Override public void onProviderDisabled(String provider) { // TODO Auto-generated method stub } @Override public void onLocationChanged(Location location) { // TODO Auto-generated method stub } }; lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, (long)(.000001), (float)(0), locationListener); String s = ""; SimpleDateFormat timingFormat = new SimpleDateFormat("hh:mm"); timingFormat.format(new Date()); s += "The current time according to the clock is: " + timingFormat.format(new Date()) + "\n"; Location location = lm .getLastKnownLocation(LocationManager.GPS_PROVIDER); lm.removeUpdates(locationListener);
(retourne la chaîne s, avec l'adresse ajoutée)