5
Napisałem tak. Ale otrzymuję 0 zawsze. Proszę poprawić mnie tam, gdzie się mylę.Jak zdobyć liczbę satelitów używanych w systemie GPS w systemie 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;
}
aw głównej klasy aktywności Nazwałem go tak jak to
int satellites=gps.getSatellites();
Jak wspomniano w dokumentach, należy wywołać metodę getSatellites() w trybie GpsStatusChanged(). Powodem tego jest to, że musisz poczekać na nawiązane połączenie GPS. –
@ SteveBenett - możesz mi pokazać kod. – ShutterSoul