如何在SD卡上存储文件(外部)

时间:2019-05-04 11:55:14

标签: android file android-sdcard

我想使用File将文件存储在SD卡上。我已经实现了将文件存储在外部存储设备(在我的文件浏览器应用程序中命名为内部存储设备。这不是SD卡)。

我了解了很多有关将数据存储在SD卡上的信息,并且经常看到:

new File(Environment.getExternalStorageDirectory() + "/MyFile")

但是这会将文件存储在外部存储设备上,而不是SD卡上。那么如何将文件存储在SD卡上而不是外部存储中?

2 个答案:

答案 0 :(得分:2)

理想情况下,您使用Storage Access Framework(例如ACTION_CREATE_DOCUMENT),并让 user 选择 user 放置此内容的位置。用户可能希望将内容放置在其他地方。例如,用户可能没有可移动存储。

暂时欢迎您在getExternalFilesDirs()上使用Context和类似方法。如果这些返回2个以上的元素,则第二个及后续元素是可移动存储上的位置。在Android 4.4+上,您的应用无需任何特殊权限即可写入这些位置。 Android Q在这里改变了很多规则,这是改用Storage Access Framework的另一个原因。

答案 1 :(得分:0)

使用此方法可能对您有帮助:

An answer to Stack Overflow question How do I get the external storage's path?

Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)