【发布时间】: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