1

我正在尝试跟踪 android 设备的天气 GPS 是否链接到卫星。我已经检查了很多线程,我可以使用 GpsStatus.Listener 接口实现检测 GPS 何时首次修复。让我们变得简单..

问题是:“旅行时 GPS 连接(固定 - 状态栏中的稳定图标)并断开连接(扫描 - 状态栏中的闪烁图标)。”

我想要什么:检查天气 GPS 是否以编程方式连接。如果 GPS 已链接,我希望我的变量“gpsActive”为“true”,否则为“false”

到目前为止我所做的:“检查 GPS 何时首次固定并将 gpsActive 设置为 true”

    private class GpsStatusListener implements GpsStatus.Listener {

    @Override
    public void onGpsStatusChanged(int event) {

        switch (event) {

            case GpsStatus.GPS_EVENT_FIRST_FIX:
                locationListener.onGpsFixed();
                gpsActive = true;

                break;

            case GpsStatus.GPS_EVENT_SATELLITE_STATUS:

                int count = 0;
                for (GpsSatellite satellite: locationManager.getGpsStatus(null).getSatellites()) {
                    if (satellite.usedInFix())
                        count++;
                }

                boolean gpsPreActive = gpsActive;

                gpsActive = count >= 4;


                if (gpsPreActive && !gpsActive)
                    locationListener.onGpsUnlinked();

                locationListener.onGpsSatelliteStatus(count);
                break;

            case GpsStatus.GPS_EVENT_STARTED:
                locationListener.onGpsStarted();
                break;

            case GpsStatus.GPS_EVENT_STOPPED:
                locationListener.onGpsStopped();
                gpsActive = false;
                break;

        }

    }

}

任何人都可以帮忙吗?

4

0 回答 0