2014-05-20 3 views
5

Ich bin neu in Android, ich bekomme Ort durch GPS, ich bekomme auch Satelliten-Nummer in unserem Code, aber ich möchte bestimmte Satellitenname oder Nummer, die verwendet wird, um den Standort zu bekommen. Ich habe Google so viel, aber keine richtige Lösung diesbezüglich bekommen.Wie erhält man den Satellitennamen oder die Satellitennummer, wenn wir über GPS in Android eine Standortbestimmung erhalten?

Meine Frage ist: - 1. It is possible to get a particular satellite name or number ? if yes please help me how to find it ?

Vielen Dank im Voraus

+0

Ich werde versuchen, Können Sie bitte einfügen, den Sie bisher versucht haben? –

Antwort

3

locationManager.getGpsStatus(null).getSatellites() (Der Anrufer entweder in einem GpsStatus Objekt passieren kann mit den neuesten Statusinformationen zu setzen, oder übergeben Sie null zu erstellen ein neues GpsStatus-Objekt.)

Gibt ein Array von GpsSatellite Objekten zurück, die den aktuellen Status der GPS-Engine darstellen.

locationManager.getGpsStatus(null).getSatellites().getPrn() Gibt die PRN (Pseudozufallszahl) für den Satelliten zurück.

getMaxSatellites() Gibt die maximale Anzahl der Satelliten in der Satellitenliste zurück, die von getSatellites() zurückgegeben werden können.

Code:

public class SatellitesInfoActivity extends Activity implements GpsStatus.Listener { 

    LocationManager locationManager = null; 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.mylayout); 
     locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
     locationManager.addGpsStatusListener(this); 
    } 

    @Override 
    public void onGpsStatusChanged(int) { 
     GpsStatus gpsStatus = locationManager.getGpsStatus(null); 
     if(gpsStatus != null) { 
      Iterable<GpsSatellite>satellites = gpsStatus.getSatellites(); 
      Iterator<GpsSatellite>sat = satellites.iterator(); 
      String lSatellites = null; 
      int i = 0; 
      while (sat.hasNext()) { 
       GpsSatellite satellite = sat.next(); 
       lSatellites = "Satellite" + (i++) + ": " 
        + satellite.getPrn() + "," 
        + satellite.usedInFix() + "," 
        + satellite.getSnr() + "," 
        + satellite.getAzimuth() + "," 
        + satellite.getElevation()+ "\n\n"; 

       Log.d("SATELLITE",lSatellites); 
      } 
     } 
    } 
} 
0
public class SatellitesInfoActivity extends Activity implements GpsStatus.Listener { 

    LocationManager locationManager = null; 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.mylayout); 
     locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
     locationManager.addGpsStatusListener(this); 
    } 

    @Override 
    public void onGpsStatusChanged(int) { 
     GpsStatus gpsStatus = locationManager.getGpsStatus(null); 
     if(gpsStatus != null) { 
      Iterable<GpsSatellite>satellites = gpsStatus.getSatellites(); 
      Iterator<GpsSatellite>sat = satellites.iterator(); 
      String lSatellites = null; 
      int i = 0; 
      while (sat.hasNext()) { 
       GpsSatellite satellite = sat.next(); 
       lSatellites = "Satellite" + (i++) + ": " 
       + satellite.getPrn() + "," 
       + satellite.usedInFix() + "," 
       + satellite.getSnr() + "," 
       + satellite.getAzimuth() + "," 
       + satellite.getElevation()+ "\n\n"; 

       Log.d("SATELLITE",lSatellites); 
      } 
     } 
    } 
}