BitmapFactory: no se puede decodificar la secuencia: java.io.FileNotFoundException

Tengo un problema relacionado con BitMapFactory.decodeFile.

En mi aplicación, quiero que el usuario pueda seleccionar una imagen de su dispositivo o tomar una fotografía. Esto debe mostrarse en un ImageView

Aquí está el fragmento de código:

Uri selectedImage = data.getData();
String[] filePathColumn = {MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
                    cursor.moveToFirst();
                    int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
                    String picturePath = cursor.getString(columnIndex);
                    cursor.close();
                    MyImage image = new MyImage();
                    image.setTitle("Test");
                    image.setDescription("test choose a photo from gallery and add it to " + "list view");
                    image.setDatetime(System.currentTimeMillis());
                    image.setPath(picturePath); 

Y obtengo esta excepción:

BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /storage/emulated/0/WhatsApp/Media/WhatsApp Images/IMG-20170302-WA0012.jpg: open failed: EACCES (Permission denied)

Cómo resolverlo. Ayúdenme. Gracias de antemano.

Respuestas a la pregunta(2)

Su respuesta a la pregunta