gpt4 book ai didi

android - LocationListener 超时

转载 作者:行者123 更新时间:2023-11-29 00:40:23 26 4
gpt4 key购买 nike

我目前正在使用计时器来确定位置监听器是否已超时?问题是 gps 仍然打开。我不知道为什么,是否有一种方法可以在 locationlistener 超时时重写或更优雅的方法?

最佳答案

考虑向您的位置管理器添加一个 GPS 状态监听器。当 GPS 启动、停止、接收第一个定位或卫星状态(可见卫星数量,至少需要 4 个才能定位)发生变化时,状态监听器会收到通知。

监听器可能看起来像这样:

class GpsStatusListener implements GpsStatus.Listener {

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

添加如下:

lm.addGpsStatusListener(new GpsStatusListener());

当 GPS 状态发生变化时,您无需删除位置监听器。

您还可以通过覆盖以下方法之一从位置管理器获取其他信息:

public void onStatusChanged(final String provider, final int status, final Bundle extras) {
switch( status ) {
case LocationProvider.AVAILABLE:
// ...
break;
case LocationProvider.OUT_OF_SERVICE:
// ...
break;
case LocationProvider.TEMPORARILY_UNAVAILABLE:
// ...
break;
}
}

@Override
public void onProviderEnabled(final String provider) {
// ...
}

@Override
public void onProviderDisabled(final String provider) {
// ...
}

关于android - LocationListener 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9768209/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com