【问题标题】:FusedLocationClient troubleshooting Out of Service ScenarioFusedLocationClient 故障排除服务中断场景
【发布时间】:2018-11-06 12:34:13
【问题描述】:

我目前能够在服务可用时接收位置更新,但如果服务不可用,我需要得到响应,以便我可以调用另一种方法来处理这种情况。从我收集到的信息来看,就使用 requestLocationUpdates() 而言,这是我必须使用的仅有的两种方法 onLocationResult() 和 onLocationAvailability()。我从 onLocationAvailabilty 得到的响应似乎不是很准确,如果我真的停止服务,这个方法可能不会被 fusedLocationClient 调用一段时间。我的另一个问题是 onLocationResult 似乎没有让我知道是否没有结果,这对我来说非常有用。了解 fusedLocationClient 是否找不到位置或当前停止服务的最佳方法是什么? locationAvailability.isLocationAvailable() 往往会给我一个不可靠的答案,即即使我有服务也是假的......

    mFusedLocationClient.requestLocationUpdates(mLocationRequest, callback = new LocationCallback() {

                @Override
                public void onLocationResult(LocationResult locationResult) {
                    // do work here
                    onLocationChanged(locationResult.getLastLocation());}

                @Override
                public void onLocationAvailability(LocationAvailability locationAvailability) {

                }
            }, Looper.myLooper());
}

【问题讨论】:

  • 你能在这里发布 logcat 吗?另外,你有一个干净的项目可以重现这个吗?
  • 抱歉,我无法为此提供项目代码。

标签: java android google-maps


【解决方案1】:

因此,我发现最好的解决方案是实现 LocationListener 并利用 onStatusChanged() 方法,该方法在用户退出服务和重新投入服务时给出响应。

【讨论】:

    猜你喜欢
    • 2020-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-14
    相关资源
    最近更新 更多