gpt4 book ai didi

android - LocationCallback 未被调用

转载 作者:可可西里 更新时间:2023-11-01 19:08:19 26 4
gpt4 key购买 nike

我正在使用 FusedLocationProviderClient 发出位置请求。我已将计时器保持 30 秒,以检查是否在该时间范围内收到位置信息。代码如下:

 public void requestLocationUpdates() {
initializeLocationRequest();
mFusedLocationProviderClient.requestLocationUpdates(mLocationRequest, mLocationCallback, null);
startTimer();
}

private void initializeLocationRequest() {
mFusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(mContext);
mLocationRequest = new LocationRequest();
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
mLocationRequest.setInterval(5000);
mLocationRequest.setFastestInterval(5000);

mLocationCallback = new LocationCallback() {

@Override
public void onLocationResult(LocationResult locationResult) {
synchronized (SilentCurrentLocationProvider.this) {
super.onLocationResult(locationResult);
Location location = locationResult.getLastLocation();
}
};
}

private void startTimer() {
if (mTimeout < 1) {
mTimeout = mDefaultTimeout;
}
mTimer = new Timer();
mTimer.schedule(new LocationTimer(), mTimeout * 1000);
}

在少数设备上,位置信息不可用。在进一步调试时,我发现正在创建 LocationRequestLocationCallback,但它没有进入 onLocationResult() 方法。

由于这是实时产品的一部分,因此很难在每台设备上进行调试。即使我尝试重新启动手机,但它不起作用。用户尝试了其他应用程序,如 Ola,并且位置已经到了那里。

也已授予位置权限

谁能告诉我这个问题的可能原因?

最佳答案

您只需请求以下权限:

Manifest.permission.ACCESS_FINE_LOCATION

我有同样的问题,我正在请求两个权限:

Manifest.permission.ACCESS_COARSE_LOCATION

当我删除 COARSE LOCATION 时,我几乎立即得到了更新。

关于android - LocationCallback 未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50870587/

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