2013-11-26 12 views
5

i versuchen, Dateien in /sdcard/ Ordner zu bekommen, aber es wirft NullPointerException
Dann habe ich versucht, Ordner in / Weg, um esAndroid 4.4 Dateien Liste Ausgabe

40 
factory 
usbdisk 
sdcard 
storage 
config 
cache 
acct 
vendor 
d 
etc 
mnt 
ueventd.tuna.rc 
ueventd.rc 
ueventd.goldfish.rc 
system 
sys 
sepolicy 
seapp_contexts 
sbin 
res 
... and others 

Rückkehr ist, wenn ich dieses Projekt in 4.3 tun es funktioniert Gut!

UPDATE

Code in 4.4 Wich

File file = Environment.getExternalStorageDirectory(); 
File[] files = file.listFiles(); 
Debugger.info(files.length); // NullPointerExcepton 
for(File f : files){ 
    Debugger.info(f.getName()); 
} 
+2

Geben Sie uns den Wert von 'new File ("/sdcard/"). Exists()'! Wenn es falsch ist, stellen Sie sicher, dass es existiert ... Überprüfen Sie auch Ihre Berechtigungen ... – tilpner

+0

Ich habe '/ sdcard /' Pfad! –

Antwort

3

Die Android Developers Website Staaten (in den wichtigen Verhaltensänderungen in KitKat)

Wenn Ihre App aus dem externen Speicher liest ...

Ihre App kann freigegebene Dateien auf dem externen Speicher nicht lesen, wenn auf Android 4.4 ausgeführt wird, es sei denn, Ihre App verfügt über die Berechtigung READ_EXTERNAL_STORAGE . Das heißt, Dateien innerhalb des Verzeichnisses, das von getExternalStoragePublicDirectory() zurückgegeben wird, sind nicht mehr ohne die Berechtigung zugänglich. Wenn Sie jedoch nur auf Ihre anwendungsspezifischen Verzeichnisse zugreifen müssen, die von getExternalFilesDir() bereitgestellt werden, benötigen Sie nicht die Berechtigung READ_EXTERNAL_STORAGE, sondern .

So stellen Sie sicher, dass Sie die obige Erlaubnis geben. Wenn Sie ein Gerät mit mehreren SD-Karten verwenden, können Sie auch unter this issue laufen.

+0

Wow, Danke ist es Arbeit JETZT !!!! ;) –

+0

Froh ich könnte helfen :) – Angelo

2

Sie nicht schwer Code im Code der sdcard Pfad sollte nicht funktionieren. Stattdessen sollten Sie die SD-Karte Weg erhalten, indem

android.os.Environment.getExternalStorageDirectory() 
+0

es ist Ursache 'NullPointerExeception' too –

Verwandte Themen