2012-03-29 5 views
2

私のアプリケーションでは、どのように多くの衛星が使用されているかを知ることができます/いいえ。衛星のgpsの修正に使用されます。私の毎回のgps修正にはいくつの衛星が使われていますか?

私は以下のコードを試しますが、毎回ゼロを返します。

public void onGpsStatusChanged(int event) 
{ 
    //Log.e("Gps_Status", "From on gps status changed"); 

    if (event == GpsStatus.GPS_EVENT_SATELLITE_STATUS) 
    { 
     GpsStatus status = m_locationManager._myLocationManager.getGpsStatus(null); 
     Iterable<GpsSatellite> sats = status.getSatellites(); 
     // Check number of satellites in list to determine fix state 

     if (sats.iterator().hasNext()) 
     { 
      GpsSatellite gpsSatellite=(GpsSatellite)sats.iterator().next(); 

      if(gpsSatellite.usedInFix()) 
      { 
       NO_OF_SATELLITE++; 

      } 

      Toast.makeText(this, String.valueOf(NO_OF_SATELLITE), Toast.LENGTH_LONG); 
     } 

     //Log.e("Used In FIx", String.valueOf(NO_OF_SATELLITE)); 
    } 
    Log.v("Used In FIx", String.valueOf(NO_OF_SATELLITE)); 
    // Toast.makeText(this, String.valueOf(NO_OF_SATELLITE), Toast.LENGTH_LONG); 
} 

これについての助けをお待ちしております。

ありがとうございました Jalp。

答えて

1

最後に私の解決策は見つかりませんでした。 gpsで使用される衛星の

そのためには、android.locationパッケージで提供されているMNEAリスナーを使用する必要があります。これは、衛星と通信し、$ GPGSAなどのNMEA標準文で応答を返します。

レスポンスを取得した後、文章を解析し、最後にあなたの仕事が完了しています。

ご意見ありがとうございました。

Jalp。

+0

* NMEAリスナー..?。。 – Jalp

0

回答は単に3です.... How GPS Phones Work

+0

申し訳ありませんが、それは間違っています。 2次元のフィクスチャを得るには、少なくとも3つの衛星が必要です。しかし、衛星の数が多いほど、フィッティングの精度は良くなります。 – Stefan

+0

あなたのリンクを読んだ場合、「少なくとも3つの衛星」と表示されます – Seph

2

なしを取得するには。

/** 
* Set the no. of available satellites. 
*/ 
public void updateSats() { 
    final GpsStatus gs = this.locationManager.getGpsStatus(null); 
    int i = 0; 
    final Iterator<GpsSatellite> it = gs.getSatellites().iterator(); 
    while(it.hasNext()) { 
     it.next(); 
     i += 1; 
    } 
    this.gpsSatsAvailable = i; 
} 

GpsStatusListenerに::SATSは、最後の修正に使用されている場合

@Override 
public void onGpsStatusChanged(final int event) { 
    switch(event) { 
     // ... 
    case GpsStatus.GPS_EVENT_SATELLITE_STATUS: 
     updateSats(); 
     break; 
    } 
} 

私はチェックしていない衛星のGPSは、私はこのコードを使用して見ています。

+0

ちょっとGPS衛星の数が欲しくないです。しかし、私は衛星のどれくらい多くのGPSの場所を修正する必要があります。 – Jalp

+0

while(it.hasNext()){ GpsSatellite sat =(GpsSatellite)it.next(); 場合(sat.usedInFix() I + = 1;} – JaakL

+0

gpsSatsAvailableものです単に – ShutterSoul

関連する問題