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/
的目录。我如何阅读此存储空间?
答案 0 :(得分:0)
您无法访问0文件夹,因为它无法访问。 因此,要打开内部SD卡,您必须对从api 23开始的设备使用getexternalstoragedirectory()。
对于M以下的Android版本,您可以访问0文件夹。
对于我在android中强大的音乐播放器应用程序,我已经为Android版本M及以上版本进行了硬编码,以便在单击模拟时跳转到getexternalstoragedirectory()目录。 看看它是如何工作的 检查应用链接:https://play.google.com/store/apps/details?id=ac.themusicplayer