Android 4.4文件列表问题

Ozi*_*aev 5 android android-file

我试图获取文件/sdcard/夹中的文件,但它抛出NullPointerException
然后我试图获取/路径中的文件夹它返回

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
Run Code Online (Sandbox Code Playgroud)

当我在4.3项目中这样做时,它运作良好!

UPDATE

4.4中的代码不起作用

File file = Environment.getExternalStorageDirectory();
File[] files = file.listFiles();
Debugger.info(files.length); // NullPointerExcepton
for(File f : files){
    Debugger.info(f.getName());
}
Run Code Online (Sandbox Code Playgroud)

Ang*_*elo 3

Android开发者网站指出(在 KitKat 的重要行为变化中)

如果您的应用程序从外部存储读取...

在 Android 4.4 上运行时,您的应用无法读取外部存储上的共享文件,除非您的应用具有 READ_EXTERNAL_STORAGE 权限。也就是说,未经许可,将无法再访问 getExternalStoragePublicDirectory() 返回的目录中的文件。但是,如果您只需要访问 getExternalFilesDir() 提供的应用程序特定目录,则不需要 READ_EXTERNAL_STORAGE 权限。

因此,请确保您授予上述权限。另外,如果您使用的是带有多个 SD 卡的设备,则可能会遇到此问题