BitmapFactory: Impossible de décoder les flux: java.io.FileNotFoundException
J'ai un problème concernant la BitMapFactory.decodeFile.
Dans mon application, je veux de l'utilisateur pour être en mesure de sélectionner une image à partir de son appareil ou de prendre une photo. Cela doit alors être affiché dans un ImageView
Ici est extrait de code:
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);
Et je suis cette exception:
BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /storage/emulated/0/WhatsApp/Media/WhatsApp Images/IMG-20170302-WA0012.jpg: open failed: EACCES (Permission denied)
Comment le résoudre.S'il vous plaît aider moi.Merci d'avance..
Vous devez vous connecter pour publier un commentaire.
Son problème d'autorisation, vous devez ajouter une autorisation dans le manifeste pour l'extérieur la lecture de stockage puis après vous pouvez en mesure de l'utiliser et si vous utilisez os au-dessus de 6,0 ensuite, vous devez utiliser Facile autorisation.
Pour L'Écriture :
Pour Lire:
Au-dessus de 6,0:
Vous devez demander au moment de l'exécution l'autorisation de LECTURE de stockage EXTERNE lorsque vous démarrez votre APPAREIL photo intention:
checkIfAlreadyhavePermission() méthode:
Poignée de Dialogue Autorisation de "Permettre" et "Refuser" bouton d'action dans onRequestPermission():
Et les ajouter à votre Manifeste de l'application de la balise: