Ich habe so geschrieben. Aber ich bekomme immer 0. Bitte korrigiere mich wo ich falsch liege.Wie bekomme ich die Anzahl der Satelliten in GPS in Android verwendet?
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;
}
und in der Hauptaktivitätsklasse habe ich es wie dieses
int satellites=gps.getSatellites();
Wie in den Dokumenten erwähnt, sollten Sie getSatables() in onGpsStatusChanged() aufrufen. Der Grund dafür ist, dass Sie auf eine bestehende GPS-Verbindung warten müssen. –
@ SteveBenett- können Sie mir Code zeigen. – ShutterSoul