繁体   English   中英

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

[英]Android: Not able to read /storage/emulated folder

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

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

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

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

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

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

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

对于我在Android中强大的音乐播放器应用程序我已经硬编码Android版本M及以上,当点击模拟时跳转到getexternalstoragedirectory()目录。 了解其工作原理查看应用链接: https//play.google.com/store/apps/details?id = ac.themusicplayer

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM