我正在尝试跟踪 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;
}
}
}
任何人都可以帮忙吗?