Exceção de permissão, embora a permissão seja definida no manifesto [duplicado]

Esta pergunta já tem uma resposta aqui:

A permissão Android não funciona, mesmo que eu a tenha declarado 11 respostas

No meu manifesto eu tenho:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

No entanto, quando executo meu aplicativo e pressiono o botão que precisa dessa permissão, recebo a seguinte exceção:

Geofence usage requires ACCESS_FINE_LOCATION permission

Como posso consertar isso

Tenho a permissão logo abaixo de<manifest>

Estou usando o Android 6.

Este é o meu código:

   public void addGeofencesButtonHandler(View view) {
        if (!mGoogleApiClient.isConnected()) {
            Toast.makeText(this, getString(R.string.not_connected), Toast.LENGTH_SHORT).show();
            return;
        }

        try {
            LocationServices.GeofencingApi.addGeofences(
                    mGoogleApiClient,
                    // The GeofenceRequest object.
                    getGeofencingRequest(),
                    // A pending intent that that is reused when calling removeGeofences(). This
                    // pending intent is used to generate an intent when a matched geofence
                    // transition is observed.
                    getGeofencePendingIntent()
            ).setResultCallback(this); // Result processed in onResult().
        } catch (SecurityException securityException) {
            // Catch exception generated if the app does not use ACCESS_FINE_LOCATION permission.
            logSecurityException(securityException);
        }
    }

questionAnswers(1)

yourAnswerToTheQuestion