Après avoir fermé mon application pendant un moment, puis rouvrir à nouveau, mon application ne mettra pas à jour l'emplacement ou parfois il faudra longtemps (environ 5min) avant la mise à jour. Comment puis-je le réparer? Ceci est mon codeGPS ne pas mettre à jour l'emplacement après la fermeture et rouvrir app sur android
private LocationManager lm;
private LocationListener locationListener;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lm = (LocationManager)
getSystemService(Context.LOCATION_SERVICE);
locationListener = new mLocationListener();
lm.requestLocationUpdates(
LocationManager.GPS_PROVIDER, 0, 0, locationListener); }
private class myLocationListener implements LocationListener
{
@Override
public void onLocationChanged(Location loc) {
if (loc != null) {
TextView gpsloc = (TextView) findViewById(R.id.widget28);
gpsloc.setText("Lat:"+loc.getLatitude()+" Lng:"+ loc.getLongitude());
}
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
TextView gpsloc = (TextView) findViewById(R.id.widget28);
gpsloc.setText("GPS OFFLINE.");
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onStatusChanged(String provider, int status,
Bundle extras) {
// TODO Auto-generated method stub
}
}
Une chose que je remarque: vous devriez vraiment désenregistrer votre position d'écoute dans OnPause(). Sinon, il continuera à recevoir des mises à jour et le GPS continuera à fonctionner sans raison (pas bon). Cela étant dit, enregistrez-le dans onResume(), pas surCreate(). – Matthias
Vous n'avez pas non plus besoin d'une classe séparée pour cela. Vous pouvez simplement faire en sorte que votre activité implémente l'interface LocationListener, puis remplacer les méthodes ici. – MattC
Check Blow Link .. Peut-être que c'est vous aider ... Dans ce que vous devez passer l'argument sach afin que le gestionnaire de localisation peut facilement mettre à jour votre emplacement et votre code est également juste pour obtenir Lieu .... http: // developer.android.com/reference/android/location/LocationManager.html#requestLocationUpdates%28long,%20float,%20android.location.Criteria,%20android.app.PendingIntent%29 –