5
Ho scritto così. Ma ottengo sempre 0. Per favore correggimi dove ho torto.Come ottenere il numero di satelliti utilizzati nel GPS in Android?
public int getSatellites() {
GpsStatus gpsStatus = locationManager.getGpsStatus(null);
int count=0;
if(gpsStatus != null) {
Iterable<GpsSatellite>satellites = gpsStatus.getSatellites();
Iterator<GpsSatellite>sat = satellites.iterator();
int i=0;
while (sat.hasNext()) {
count++;
GpsSatellite satellite = sat.next();
strGpsStats+= (i++) + ": " + satellite.getPrn() + "," + satellite.usedInFix() + ","
+ satellite.getSnr() + "," + satellite.getAzimuth() + "," + satellite.getElevation()+ "\n\n";
Log.v("value:"+"-", strGpsStats+= (i++) + ": " + satellite.getPrn() + "," + satellite.usedInFix() + ","
+ satellite.getSnr() + "," + satellite.getAzimuth() + "," + satellite.getElevation()+ "\n\n");
}
//tv.setText(strGpsStats);
Log.v("satellite", "satellite " +count);
}
return count;
}
e nella classe principale attività che ho chiamato in questo modo
int satellites=gps.getSatellites();
Come indicato nei documenti, è necessario chiamare getSatellites() in onGpsStatusChanged(). La ragione di questo è che devi aspettare una connessione GPS stabilita. –
@ SteveBenett- puoi mostrarmi il codice. – ShutterSoul