首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >LocationCallback不被呼叫

LocationCallback不被呼叫
EN

Stack Overflow用户
提问于 2018-06-15 06:59:38
回答 5查看 9K关注 0票数 27

我正在使用FusedLocationProviderClient.进行定位请求我已经保存了30秒的计时器,以检查是否在该时间框架内收到位置。代码如下:

代码语言:javascript
复制
 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和location。

位置权限也被授予了

,有人能告诉我这个问题的可能原因吗?

EN

Stack Overflow用户

发布于 2020-04-16 02:27:50

您只需要请求以下权限:

代码语言:javascript
复制
Manifest.permission.ACCESS_FINE_LOCATION

我也遇到了同样的问题,我请求两个权限:

代码语言:javascript
复制
Manifest.permission.ACCESS_COARSE_LOCATION

当我删除粗位置时,我几乎立即得到了更新。

票数 6
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50870587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档