2017-06-23 1 views
0

J'ai un problème (probablement stupide), en ce sens que je ne peux pas voir un fichier exporté sur mon Android Phone (Nexus5X Android N).Android Exported Fichier Invisible

Je tente d'exporter ma base de données comme suit:

try { 
     File dbFile = new File(inFileName); 
     FileInputStream fis = new FileInputStream(dbFile); 

     File path = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), DATABASE_NAME); 

     Log.d("DatabaseName", DATABASE_NAME); 
     Log.d("ExportPath", path.getAbsolutePath()); 
     OutputStream output = new FileOutputStream(path); 

     byte[] buffer = new byte[1024]; 
     int length; 
     while ((length = fis.read(buffer)) > 0) { 
      output.write(buffer, 0, length); 
     } 
     //Close the streams 
     output.flush(); 
     output.close(); 
     fis.close(); 
     return true; 

Tout semble fonctionner, aucune erreur évoquée, mais je ne peux pas trouver le fichier. J'ai essayé dans ADB Shell, ADB pull et sur l'appareil directement avec ESFileExplorer. (le périphérique n'est pas rooté). Quelqu'un peut-il aider?

+0

Petite mise à jour, j'ai réussi à le faire en exécutant "run-as " dans le shell adb, puis cp sur le répertoire sdcard, mais il serait évidemment idéal si elle fonctionnerait par programme depuis l'application. – meow

Répondre

0

Donc comme soupçonné une chose idiote, les versions apparemment plus récentes Android ont besoin d'autorisations EXTERNAL_WRITE. Pas sûr cependant pourquoi il n'a pas attrapé une erreur mais cela fonctionne maintenant.