2016-07-22 15 views
-3

Ich befolge das Code-Snippet, das hier in diesem Handbuch angegeben ist. Die folgenden Zeilen (particurly den letzten if Block in den folgenden Zeilen) präsentieren ein Problem:Warum gibt meine Datei.mkdirs() immer false zurück?

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; 
     } 
    } 

Das Problem ist, dass return null; im Snippet oben wird immer ausgeführt.

Das bedeutet, dass mediaStorageDir.mkdirs() immer false zurückgibt.

Die Frage ist, warum und was kann ich tun, um es zu beheben?

+3

@Solace was ist dein ZielSdk? – Nisarg

+2

es gibt false zurück, wenn das Verzeichnis auch vorhanden ist – Blackbelt

+2

@Solace, wenn seine 23 als [refer] (http://stackoverflow.com/a/38226786/3117966) diese – Nisarg

Antwort

0

Haben Sie

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

in Ihrer Manifest-Datei festgelegt?

+0

Nein, ich habe nur 'WRITE_EXTERNAL_STORAGE' – Solace

+1

Sie könnten beide. Versuchen Sie es. –

+0

Es hat nicht geholfen. – Solace

Verwandte Themen