Чтобы получать данные от GPS, вы должны использовать код, подобный следующему:
locationMan= (LocationManager)this.getSystemService(Context.LOCATION_SERVICE);
locationMan.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
locationMan.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);
LocationListener locationListener= new LocationListener() {
public void onLocationChanged(Location location) {
//TODO be sure the new position is really better then the one already had.
lastPos= location;
}
public void onStatusChanged(String provider, int status, Bundle extras) {
}
public void onProviderEnabled(String provider) {
}
public void onProviderDisabled(String provider) {
}
};
Это простой слушатель, поэтому каждый раз, когда Android узнает об изменении текущего местоположения, он будет вызывать всех слушателей, включая ваше приложение и другие.Программы.Таким образом, процесс определения местоположения запускается только один раз, независимо от того, сколько слушателей добавлено в LOCATION_SEVICE.
Как только вы закончите с GPS, используйте
locationMan.removeUpdates(locationListener);
для удаления слушателя