Сколько спутников используется в моем каждый раз, когда GPS исправить? - PullRequest
2 голосов
/ 29 марта 2012

В моем приложении, как я могу узнать, сколько спутников используется / нет. спутника используется для GPS Fix.

Я пробую приведенный ниже код, но он каждый раз возвращает ноль.

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.

Ответы [ 3 ]

2 голосов
/ 29 марта 2012

Чтобы получить нет.из спутников, которые видит GPS, я использую этот код:

/**
 * 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:

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

я не проверяю, использовались ли спутники в последнем исправлении.

1 голос
/ 31 марта 2012

Эй, наконец, я нашел свое решение для получения нет. спутника, используемого в GPS.

Для этого вы должны использовать прослушиватель MNEA из пакета android.location, который связывается со спутником и возвращает ответ в стандартном предложении NMEA, например, $ GPGSA.

После получения ответа вы должны разобрать предложение и, наконец, ваша работа завершена.

Спасибо всем за отзывы.

Jalp.

0 голосов
/ 29 марта 2012

Ответ просто 3 .... Как работают телефоны GPS

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...