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

标签 android file android-sdcard

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

我读了很多关于在 SD 卡上存储数据的文章,并且经常看到:

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

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

最佳答案

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

暂时,欢迎您在 Context 上使用 getExternalFilesDirs() 和类似方法。如果这些返回 2+ 个元素,则第二个和后续元素是可移动存储上的位置。在 Android 4.4+ 上,您的应用可以在没有任何特定权限的情况下写入这些位置。 Android Q 在这里大量更改规则,这是改用存储访问框架的另一个原因。

关于android - 如何将文件存储在 SD 卡上(外部),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55982246/

相关文章:

android - 下载图像并存储在 sd 卡文件夹中

C、字符串、文件

java - 将 Logcat 保存到 Android 设备中的文本文件

android - ListView的state_activated、state_selected、state_pressed、state_focused的解释

android - 如何在android中设置html5视频速度

c# - HttpModule/HttpApplication 测试 url 是否为文件请求

java - 如何在 Eclipse 中处理仅由 .class 文件组成的项目?

java - 从 Android 设备获取 .mp3 格式的文件

android - NDK性能

java - Android 文件隐藏在外部存储上