小编Dha*_*jay的帖子

LocationSettingsStatusCodes.RESOLUTION_REQUIRED

我正在使用 FusedLocationAPI 它工作正常,但是当用户禁用位置时,我使用 SettingsApi 向用户显示对话框以启用位置。

在棉花糖及以上设备中,它工作正常,但在 kitkat 中,如果启用或禁用位置,它总是触发 LocationSettingsStatusCodes.RESOLUTION_REQUIRED。

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

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

    result.setResultCallback(new ResultCallback<LocationSettingsResult>() {
        @Override
        public void onResult(LocationSettingsResult locationSettingsResult) {

            final Status status = locationSettingsResult.getStatus();
            Log.e("status",status.getStatusCode()+"\n"+status.getStatus()+"\n"+status.getStatusMessage());
            final LocationSettingsStates LS_state = locationSettingsResult.getLocationSettingsStates();
            switch (status.getStatusCode()) {
                case LocationSettingsStatusCodes.SUCCESS:
                    // All location settings are satisfied. The client can initialize location
                    // requests here.
                    startLocationUpdates();

                    break;
                case LocationSettingsStatusCodes.RESOLUTION_REQUIRED:
                    // Location settings are not satisfied. But could be fixed by showing the user
                    // a dialog. …
Run Code Online (Sandbox Code Playgroud)

android android-4.4-kitkat fusedlocationproviderapi android-fusedlocation google-location-services

5
推荐指数
0
解决办法
2519
查看次数