Android:无法读取/存储/模拟文件夹

时间:2016-06-13 20:21:42

标签: android

File file = new File("/storage/emulator");
File[] list = file.listFiles();

列表正在返回null。我已经获得了READ_EXTERNAL_STORAGE权限。在该文件夹"/storage/emulator/0"中有这样的路径。我试图读取/0/文件夹。我可以使用/storage/emulator/0访问Environment.getExternalDirectory(),但我正在解析Android存储中的每个文件。我是这样做的

String root_sd = System.getenv("ANDROID_STORAGE");      //root_sd = "/storage"
file = new File(root_sd);
list = file.listFiles();

然后对于列表数组中的每个文件,我都做同样的事情。

但由于某种原因,它无法读取/storage/emulated/的目录。我如何阅读此存储空间?

1 个答案:

答案 0 :(得分:0)

您无法访问0文件夹,因为它无法访问。 因此,要打开内部SD卡,您必须对从api 23开始的设备使用getexternalstoragedirectory()。

对于M以下的Android版本,您可以访问0文件夹。

对于我在android中强大的音乐播放器应用程序,我已经为Android版本M及以上版本进行了硬编码,以便在单击模拟时跳转到getexternalstoragedirectory()目录。 看看它是如何工作的 检查应用链接:https://play.google.com/store/apps/details?id=ac.themusicplayer