如何访问存储?

问题描述

最直观的似乎是Environment.getStorageDirectory()。但是,它在 Android Studio显示为红色,并警告该调用需要 Api 级别 R(最小值为 16)。我当然不会将最小 Api 提高到 30 (= R)!尽管如此,我的应用程序在 Android 7.1.1 的模拟器中运行,我可以列出该目录的内容。这怎么可能?

然后是Environment.getExternalStorageDirectory(),已弃用。不过,如果它仍然是 2021 年的推荐方法,我仍然会使用它。不过,我不知道如何使用这种方法访问外部 SD 卡或 USB 记忆棒。尽管它的名字,它似乎只授予访问内部模拟 SD 卡的权限。

我还找到了 File.listRoots(),它返回 "/"。但是 File.listRoots()[0]File("/") 都是 null。我在这里缺少什么?为什么我不能那样访问文件系统?

EnvironmentContext 中还有一些其他方法,但据我所知,它们只授予对某些特殊目录的访问权限。我想访问整个文件系统和所有块设备,就像在文件资源管理器应用中一样。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)