Android 如何确定我不再获得位置更新

Android 如何确定我不再获得位置更新,android,gps,google-api,listener,google-api-client,Android,Gps,Google Api,Listener,Google Api Client,我的应用程序每隔3秒通过LocationServices.FusedLocationApi从谷歌服务请求位置更新。它有一个漂亮的小卫星图标,指示GPS是否工作 我实现了ConnectionCallbacks、OnConnectionFailedListener、LocationListener接口,以便适当更改图标: @Override public void onConnected(Bundle arg0) { LocationServices.FusedLocationApi.req

我的应用程序每隔3秒通过LocationServices.FusedLocationApi从谷歌服务请求位置更新。它有一个漂亮的小卫星图标,指示GPS是否工作

我实现了ConnectionCallbacks、OnConnectionFailedListener、LocationListener接口,以便适当更改图标:

@Override
public void onConnected(Bundle arg0)
{
    LocationServices.FusedLocationApi.requestLocationUpdates(googleApiClient, locationRequest, this); // starts location updates
    SetConnectionStatus(false); // AKA change GPS status icon to "not connected"
}

@Override
public void onConnectionSuspended(int arg0)
{
    LocationServices.FusedLocationApi.removeLocationUpdates(googleApiClient, this);
    SetConnectionStatus(false);
}

@Override
public void onConnectionFailed(ConnectionResult arg0)
{
    LocationServices.FusedLocationApi.removeLocationUpdates(googleApiClient, this);
    SetConnectionStatus(false);
}

@Override
public void onLocationChanged(Location arg0)
{
    if (arg0 == null)
    {
        SetConnectionStatus(false);
        return;
    }

    SetConnectionStatus(true);
}
现在,除了一种情况外,这似乎是一种魅力。我打开手机中的GPS并启动应用程序。图标从not connected(未连接)快速更改为connected(已连接),我开始在LogCat中每隔3秒钟更新一次。然后,我最小化应用程序并关闭GPS。图标仍然显示已连接,尽管我完全停止获取新的位置更新,但LogCat不会打印它们

我的问题是,如何检测到我停止获取新数据?我是否应该实现某种侦听器?我不想创建一个单独的线程,其唯一目的是每5秒检查一次我是否仍在获取更新