gpt4 book ai didi

java - 在 `removeLocationUpdates` 的 `FusedLocationClientProvider` 完成时接收回调的最佳方式是什么

转载 作者:太空狗 更新时间:2023-10-29 13:51:33 25 4
gpt4 key购买 nike

我有以下代码按预期工作但是当我请求使用下面显示的 stopLocationUpdates 方法删除位置更新时,我的 onCompleteListener 附加到 removeLocationUpdates 不会在第一次请求时触发,尽管位置更新已按要求停止。但是,在下一次请求时,将触发 onCompleteListener 回调。

/**
* Provides access to the fused location provider API
*/
private FusedLocationProviderClient mFusedLocationClient;


/**
* Removes location updates from the FusedLocationApi
*/
private void stopLocationUpdates() {
if (!mRequestingLocationUpdates) {
// Updates were never requested.
return;
}

// Remove location request when activity is in a paused or stopped state.
mFusedLocationClient.removeLocationUpdates(mLocationCallback)
.addOnCompleteListener(this, new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
mRequestingLocationUpdates = false;
}
});
}

最佳答案

我没有 50 次回复。评论,所以我在这里写下我的评论。

如果你添加一个.addOnFailureListener,它会在第二次拍摄时报告这样的错误吗?

W/System.err: com.google.android.gms.common.api.ApiException: 13: listener already unregistered

RG

2017.04.17 更新:

添加了 .addOnFailureListener(getActivity(), new OnFailureListener()...) 和 .addOnSuccessListener(getActivity(), new OnFailureListener()...) 并发现以下内容:

  1. 三个监听器(包括初始的 addOnCompleteListener(getActivity(), new OnCompleteListener()...))都没有在此(第一个)removeLocationUpdate 请求上调用。

  2. 在第二个请求中,首先调用 addOnCompleteListener 监听器(一切似乎都正常),然后调用 onFailureListener 监听器并出现以下错误:

    W/System.err: com.google.android.gms.common.api.ApiException: 13: listener already unregistered

似乎监听器直到第二个请求才得到第一个回调(它是否堆积在某个堆栈上?),并且它调用(正确?)错误监听器以告知监听器已经取消注册...

很奇怪……不奇怪吗?

无论如何我都会提交一个错误报告,如果它还没有完成的话。

我使用 v11.4.2 firebase、v11.4.2 play-services、v26.1.0 android.support 和 v3.1.1 of com.google.gms:google-services。

RG

关于java - 在 `removeLocationUpdates` 的 `FusedLocationClientProvider` 完成时接收回调的最佳方式是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46401266/

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