0

APP에 현지화를 사용하기 위해 Google Play 서비스 위치 API를 구현하려고합니다. getLocationSettingsStates() 메소드를 해결할 수 없습니다.

protected void createLocationRequest() { 

    // Create an instance of GoogleAPIClient. 
    if (mGoogleApiClient == null) { 
     mGoogleApiClient = new GoogleApiClient.Builder(this) 
       .addConnectionCallbacks(this) 
       .addOnConnectionFailedListener(this) 
       .addApi(LocationServices.API) 
       .build(); 
    } 

    LocationRequest mLocationRequest = new LocationRequest(); 
    mLocationRequest.setInterval(10000); 
    mLocationRequest.setFastestInterval(5000); 
    mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); 

    LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder() 
      .addLocationRequest(mLocationRequest); 

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

    final LocationSettingsStates states = result.getLocationSettingsStates(); 

} 

나는 '() 메서드의 getLocationSettingsStates를 확인할 수 없습니다'이미 어쨌든, 필요한 모든 라이브러리를 가져 안드로이드 스튜디오에 통보 가정합니다. 다른 오류가 발생하지 않습니다. 나는 이것에 관해 알 수 없다.

답변

0

result은 을 구현하는 LocationSettingsResult이 아니라 PendingResult<LocationSettingsResult>입니다. 다음과 같이해야합니다.

result.setResultCallback(new ResultCallback<LocationSettingsResult>() { 
    @Override 
    public void onResult(LocationSettingsResult result) { 
     final Status status = result.getStatus(); 
     final LocationSettingsStates states = result.getLocationSettingsStates(); 
     // Call states.isBlePresent(), etc. 
관련 문제