1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
public void run()
{
// Calcul de la position utilisateur à l'aide du GPS
LocationManager locationManager = (LocationManager)getBaseContext().getSystemService(Context.LOCATION_SERVICE);
LocationListener gpsListener = new LocationListener() {
// Cette méthode est appelée directement après avoir récupéré les coordonnées GPS
@Override
public void onLocationChanged(Location location) {
Toast.makeText(getBaseContext(), "OK lat : "+location.getLatitude(), Toast.LENGTH_LONG);
// Ici on à terminé l'opération, donc on peut fermer la boite de progression
handler.sendEmptyMessage(0);
}
@Override
public void onProviderDisabled(String arg0) {
}
@Override
public void onProviderEnabled(String arg0) {
}
@Override
public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
}
};
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(true);
criteria.setPowerRequirement(Criteria.POWER_MEDIUM);
locationManager.requestLocationUpdates(locationManager.getBestProvider(criteria, true), 100, 1, gpsListener);
}
Manifest :
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> |
Partager