I'm writing a short activity to get the GPS Satellite Data. I know there are max. 32 GPS Satellites up there and 24 of them are actives. At a time at my location (Berlin-Germany) I should only see max. 12 GPS satellites. When I test my application outside I do get far more than 12 visible satellites. Often I get even more than 20 and almost all of them used-in-fix. I use following code to display the Satellites data:
@Override
public void onGpsStatusChanged(int event) {
//Call on GPS Status changes, such as satellites info
String gpsStats = "";
gpsStatus = locationManager.getGpsStatus(gpsStatus);
if (gpsStatus != null) {
Iterable<GpsSatellite>satellites = gpsStatus.getSatellites();
Iterator<GpsSatellite>sat = satellites.iterator();
int visibleSats = 0;
while (sat.hasNext()) {
satellite = sat.next();
gpsStats += "SATELLITE " + (visibleSats++) + "\n"
+ "\t PRN: " + satellite.getPrn() + "\n"
+ "\t signal-noise-ratio: " + satellite.getSnr() + "\n"
+ "\t azimuth: " + satellite.getAzimuth() + "°\n"
+ "\t elevation: " + satellite.getElevation() + "°\n"
+ "\t used in fix: " + satellite.usedInFix() + "\n"
+ "\t has almanac data: " + satellite.hasAlmanac() + "\n"
+ "\t has ephemeris data: " + satellite.hasEphemeris() + "\n"
+ "\n";
}
sats.setText(gpsStats);
}
}
All the data I get seem to be right. All of them have different values and PRN. Did I do anything wrong? Are those satellites I see not the ones in orbit? Thank you in advance.