Tag: fusedlocationproviderapi

融合位置提供商:有没有办法检查位置更新是否失败?

介绍 在我的应用程序中,我希望获得用户当前所在位置的一次性准确位置。 当我使用FusedLocationProviderApi.getLastLocation有时这将是null或过时位置,因为我发现这只是获取缓存位置并且不请求新的位置更新。 解决方案是仅请求位置更新一次,如下所示。 LocationRequest locationRequest = LocationRequest.create() .setNumUpdates(1) .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY) .setInterval(0); LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient,locationRequest,this) 现在我总是得到一个更准确的位置。 我的问题 如何确定位置更新是否失败? 因为我只要求1。 获取位置更新时,将调用此回调 @Override public void onLocationChanged(Location location) { } 但是,如果位置更新失败,则不会调用此方法。 我试过的 我看到有一个ResultCallback。 但是,即使一次性位置更新失败,也始终会调用onSuccess。 LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient,locationRequest,this).setResultCallback(new ResultCallbacks() { @Override public void onSuccess(@NonNull Status status) { DebugUtils.log(“requestLocationUpdates ResultCallback onSuccess + ” + status.toString(),true,true); } @Override public void onFailure(@NonNull Status status) { DebugUtils.log(“requestLocationUpdates ResultCallback […]