gpt4 book ai didi

java - FusedLocationProviderClient.getCurrentLocation 是如何工作的?取消 token

转载 作者:行者123 更新时间:2023-12-04 13:54:17 24 4
gpt4 key购买 nike

我正在尝试请求当前位置,如果任务出错,则在位置打开时调用。

private void getCurrentLocation() {
fusedClient.getCurrentLocation(LocationRequest.PRIORITY_HIGH_ACCURACY, new CancellationToken() {
@Override
public boolean isCancellationRequested() {
return false;
}

@NonNull
@Override
public CancellationToken onCanceledRequested(@NonNull OnTokenCanceledListener onTokenCanceledListener) {
Log.d("CurrentLocation", "CancelRequest");
createLocationSettingRequest();
return null;
}
}).addOnSuccessListener(new OnSuccessListener<Location>() {
@Override
public void onSuccess(Location location) {
if (location != null) {
Log.d("CurrentLocation", location.toString());
mapFragment.getMapAsync(MapsActivity.this)
}
}
});
}
问题是 中的代码onCancelationRequested 执行两次;我尝试使用 CancellationTokenSource,但结果相同。

最佳答案

根据docs只有第一次调用cancel()会产生影响。您可以通过添加 addOnCanceledListener() 来检查它只会被调用一次。

关于java - FusedLocationProviderClient.getCurrentLocation 是如何工作的?取消 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65351695/

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