2016-07-22 4 views
-3

Я следую фрагменту кода, приведенному здесь в этом руководстве. Следующие строки (particurly последний if блок в следующих строках) вручают проблему:Почему мой File.mkdirs() всегда возвращает false?

File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(
       Environment.DIRECTORY_PICTURES), "MyCameraApp"); 

    // This location works best if you want the created images to be shared 
    // between applications and persist after your app has been uninstalled. 

    // Create the storage directory if it does not exist 
    if (! mediaStorageDir.exists()){ 
     if (! mediaStorageDir.mkdirs()){ 
      Log.d("MyCameraApp", "failed to create directory"); 
      return null; 
     } 
    } 

Проблема заключается в том, что return null; в фрагменте кода выше, всегда выполняется.

Это означает, что mediaStorageDir.mkdirs() всегда возвращает false.

Вопрос в том, почему и что я могу исправить?

+3

@Solace whats your targetSdk? – Nisarg

+2

возвращает false, если каталог существует также – Blackbelt

+2

@Solace, если его 23, чем [обратитесь] (http://stackoverflow.com/a/38226786/3117966) – Nisarg

ответ

0

вы установили

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

в вашем файле манифеста?

+0

Нет, у меня просто есть 'WRITE_EXTERNAL_STORAGE' – Solace

+1

Возможно, вам понадобится. Да, попробуйте. –

+0

Это не помогло. – Solace

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