如何更改 LocationRequest 的间隔

Posted

技术标签:

【中文标题】如何更改 LocationRequest 的间隔【英文标题】:How can I change the interval of LocationRequest 【发布时间】:2014-06-18 20:26:42 【问题描述】:

我将我的应用程序设置为每 5 秒获取一次位置通知。

    mLocationRequest = LocationRequest.create();
    mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
    mLocationRequest.setInterval(5000);
    mLocationRequest.setFastestInterval(5000/6);
    myLocationReq.requestLocationUpdates(mLocationRequest

so - 每 5 秒调用一次 onLocationChanged。 这工作正常。

现在我想将间隔更改为 1 秒,而不调用

     requestLocationUpdates

如何做到这一点?

【问题讨论】:

你碰巧解决了这个问题吗? 没有。似乎每当您想更改间隔时都必须调用 requestLocationUpdates 。这样做的主要问题是您可能会立即收到位置通知。 【参考方案1】:

希望这个答案还不算太晚,只需创建一个具有所需 setInterval 值的 LocationRequest 对象。然后只需调用 requestLocationUpdates 即可。

我将此与标签一起使用,其中 1 个标签必须比其他标签更快地获取位置更新。所以我只是改变了 onResume 和 onPause 方法中的时间间隔。

【讨论】:

以上是关于如何更改 LocationRequest 的间隔的主要内容,如果未能解决你的问题,请参考以下文章

如何检查位置设置是不是在更改时失败

它是如何工作的 - requestLocationUpdates() + LocationRequest/Listener

FusedLocationProviderApi:LocationRequest.setPriority 如何与“位置模式”设备设置一起使用?

如何检查我们是不是已经调用了 fusedLocationProviderClient.requestLocationUpdates(locationRequest, pendingIndent);

如何将 LocationRequest 对象从活动传递到服务?

LocationRequest (FusedLocationProviderClient) - 已弃用