Android: Intento de la galería que devuelve resultCode == RESULT_CANCELED

Estoy empezando a intentar elegir una imagen de la galería, pero la intención siempre regresa con el código de resultado RESULT_CANCELED. He intentado muchos códigos diferentes, pero nada ayuda, lo que me hace pensar que tal vez me estoy perdiendo algo, como poner algo en la actividad en el manifiesto de Android.

Mi código

// The Intent
Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 0);

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    super.onActivityResult(requestCode, resultCode, data);

    if (resultCode == RESULT_OK){
        Uri targetUri = data.getData();
        Bitmap bitmap;
        try {
            bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(targetUri));
            profileImage.setImageBitmap(bitmap);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

Agradecería un poco de ayuda;)

Respuestas a la pregunta(2)

Su respuesta a la pregunta