com.google.android.gms.common.api.Status .getStatus()无法解析

时间:2016-08-18 07:34:57

标签: location status

我尝试在我的Android应用中使用FusedLocationApi来检索此指南后的最后一个位置:https://developer.android.com/training/location/change-location-settings.html

我对结果类有一些问题。在我的代码上:

final PendingResult<LocationSettingsResult> result = LocationServices.SettingsApi.checkLocationSettings(mGoogleApiClient, builder.build());

...
final Status status = result.getStatus();

result.getStatus(); 我的IDE通知我无法解析方法&#39; GetStatus()&#39; 。 我导入库com.google.android.gms.common.api.Status

问题出在哪里?

1 个答案:

答案 0 :(得分:3)

我希望你已经解决了这个问题,但这只适用于可能面临同样问题的人......

PendingResult 的对象不是您应该用来调用 getStatus 的对象。 相反,您使用 LocationSettingsResult 的对象(这是包含getStatus()方法的类)调用该方法,该方法是 onResult 方法的参数。

这就是它的样子 - &gt;

    private void getLocationSettings() {
    LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder().addLocationRequest(mLocationRequest);
    final PendingResult<LocationSettingsResult> result = LocationServices.SettingsApi.checkLocationSettings(mGoogleApiClient, builder.build());

    result.setResultCallback(new ResultCallback<LocationSettingsResult>() {
        @Override
        public void onResult(@NonNull LocationSettingsResult locationSettingsResult) {
            final Status status = locationSettingsResult.getStatus();
        }
    });
}