我正在尝试通过 Environment.getExternalStorageDirectory() 从 SD 卡获取所有文件列表,但我从硬件存储中返回列表。我试过硬编码,但结果是一样的。知道是什么原因造成的吗?
我的代码
String path = Environment.getExternalStorageDirectory().toString()+"/";
Log.d("Files", "Path: " + path);
File f = new File(path);
File file[] = f.listFiles();
Log.d("Files", "Size: "+ file.length);
for (int i=0; i < file.length; i++)
{
Log.d("Files", "FileName:" + file[i].getName());
}
返回
Path: /mnt/sdcard/
Size: 21
FileName:LOST.DIR
FileName:.android_secure
FileName:Music
FileName:Podcasts
但我在 SD 卡中没有 Podcast 等。
一半的答案: Environment.getExternalStorageDirectory() 在某些情况下进入内存存储。如果我尝试 String path = "/mnt/external_sd/"; 然后它的工作。但在其他设备中,存储在其他目录中。