2017-02-09 1 views
0

Я пытаюсь создать каталог в/хранения/эмулировать/0/Картинки с этим кодом:Создать каталог в/SDCard/Pictures

 File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath() + "/newDirectory"); 

     boolean success = false; 
     if(!outputDir.exists()){ 
      success = outputDir.mkdirs(); 
     } 
     if(success == true){ 
      Log.d(TAG, "file created"); 
     } 

Я не могу понять, что это неправильно, потому что я не получаю любая ошибка или исключение на этом этапе, но каталог не создается. Может ли кто-нибудь помочь?

ответ

2

попробовать это:

String folder_root = "Pictures"; 

File f = new File(Environment.getExternalStorageDirectory(), folder_root); 
if (!f.exists()) { 
    f.mkdirs(); 
} 

File f1 = new File(Environment.getExternalStorageDirectory() + "/" + folder_root, "yourDirectoryName"); 
if (!f1.exists()) { 
    f1.mkdirs(); 
} 

В вашем манифеста разрешения надстройкой

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

Для Апи> 23 необходимо также время выполнения permisssion

ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 0); 
+0

Разрешение на временную работу решило проблему. Большое спасибо. – adams172

0

Как о попытке войти file.getAbsolutePath(); в посмотрите, правильно ли этот путь?

Во-вторых, ваш код не является полным, потому что ваша первая строка является ошибкой.

Попробуйте это:

File directory = new File(Environment.getExternalStorageDirectory(Environment.DIRECTORY_PICTURES)+File.separator+"pictures"); 
directory.mkdirs(); 

Убедитесь, что права доступа установлены.

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

 Смежные вопросы

  • Нет связанных вопросов^_^