Toujours FileNotFoundException Autorisation refusée dans Android

Pourquoi ai-je toujours cette erreur FileNotFoundException Permission Denied? Le code se passe bien mais lorsque je clique sur un fichier pour le télécharger, il ne sera pas téléchargé. Aidez-moi, s’il vous plaît. im nouveau à cela

Voici mon logcat

03-28 09:19:34.695: E/log_tag(17921): eer java.io.FileNotFoundException: /mnt/sdcard/Excel.xlsx (Permission denied) 

Dans mon manifeste

      

c’est ma fonction de téléchargement

 //Download public void startDownload(final int position) { Runnable runnable = new Runnable() { int Status = 0; public void run() { Ssortingng urlDownload = MyArrList.get(position).get("FileUrl").toSsortingng(); int count = 0; try { Log.d("", urlDownload); URL url = new URL(urlDownload); URLConnection conexion = url.openConnection(); conexion.connect(); int lenghtOfFile = conexion.getContentLength(); Log.d("ANDRO_ASYNC", "Lenght of file: " + lenghtOfFile); InputStream input = new BufferedInputStream(url.openStream()); // Get File Name from URL Ssortingng fileName = urlDownload.subssortingng(urlDownload.lastIndexOf('/')+1, urlDownload.length() ); //Environment.getExternalStorageDirectory().getPath() Log.d("", fileName); OutputStream output = new FileOutputStream(Environment.getExternalStorageDirectory().getPath()+"/"+fileName); byte data[] = new byte[1024]; long total = 0; while ((count = input.read(data)) != -1) { total += count; Status = (int)((total*100)/lenghtOfFile); output.write(data, 0, count); // Update ProgressBar handler.post(new Runnable() { public void run() { updateStatus(position,Status); } }); } output.flush(); output.close(); input.close(); } catch (Exception e) { e.printStackTrace(); Log.e("log_tag", "eer "+e.toSsortingng()); } } }; new Thread(runnable).start(); } 

Eh bien, je tente de télécharger un fichier Excel à partir du serveur. Chaque fichier est affiché sous forme de liste sur laquelle, lorsque je clique dessus, il sera téléchargé. Mais chaque fois que j’ai cliqué sur le fichier. il génère l’erreur sur le log.cat je vous ai donné

Si vous utilisez un emulator , vous devez définir une sd card value spécifique dans votre émulateur pour pouvoir tester et télécharger le fichier.

Si vous utilisez un appareil, installez l’apk, puis essayez de télécharger le fichier. Et assurez-vous que l’appareil dispose d’une memory card ou d’une memory card sd card

Donc, vous avez vraiment besoin de sdcard/memcard pour télécharger le fichier.