繁体   English   中英

如何在Android 7.0中从SD卡读取文件?

[英]How can one read files from an SD card in Android 7.0?

对于以前的电话(Android 4.0),我编写了一个应用程序,该应用程序使用通过USB电缆从PC复制到SD卡的数据文件。 根据许多站点的建议,该应用程序使用Environment.getExternalStorageDirectory()来检索文件。

在装有Android 7.0的电话上,此应用不再可用。 Environment.getExternalStorageDirectory()返回映射到内部存储的“存储/模拟/ 0 /”。 我尝试了getExternalStoragePublicDirectory,但这引用了相同的位置。

所以我尝试了一个硬编码的“ / sdcard”。 这也没有引用SD卡。 从应用程序将测试文件写入该位置时,我使用内部存储器中的File Commander应用程序找到了该文件,但是使用PC上的Windows资源管理器在内部存储器中或SD卡上都找不到该文件,因此它我不清楚它到底在哪里。 在我的网络搜索中,我看到了对/ sdcard0和/ sdcard1的引用,但对它们进行测试后发现它们在我的电话上都不存在。

因此,我的主要问题是:鉴于getExternalStorageDirectory()不提供此功能,我如何获得Android 7.0及更高版本中SD卡的根目录?

还有一个附属问题:没有获取外部存储目录的getExternalStorageDirectory()函数的作用是什么?

您可以查看getExternalFilesDirs()返回的第二项,以在SD卡上找到您的应用程序特定目录。

但是,如果您想将应用程序更新为现代标准,请使用Intent.ACTION_OPEN_DOCUMENT_TREE和或StorageVolumes来查看Storage Access Framework

暂无
暂无

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

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