首页 > 解决方案 > android保存文件/创建文件夹到sd卡

问题描述

我已经在 Stack Overflow 上进行了搜索,基本上答案都Environment.getExternalStorageDirectory()用于获取 sd 卡目录。

但是,在我的手机中,它总是给我/storage/emulated/0,这似乎是内部存储(不是真正的 sd 卡),而我需要一个像/storage/6265-6530实际 sd 卡这样的路径。我检查了我的 sd 卡路径/storage/6265-6530在 android studio 中。

我试图直接使用创建一个文件夹

File file = new File("/storage/6265-6530/MyApp/");
boolean result = file.mkdirs();

但结果总是false

我已授予所有权限,android.permission.WRITE_EXTERNAL_STORAGE并在运行时请求权限。但仍然得到上面的错误。

虽然我尝试在其中创建一个文件夹,/storage/emulated/0但没关系,如下所示。

File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/MyApp/");
boolean result = file.mkdirs();

并且创建的路径将是:“/storage/emulated/0/MyApp”

我还尝试使用以下方法获取 sd 卡目录:

File[] fs = reactContext.getExternalFilesDirs(null);
fs[1].getAbsolutePath()

但我只能获取 sd 卡中特定于应用程序的目录,例如/storage/6265-6530/Android/data/<my application package>/files,而不是 sd 卡的根路径。

如何在 sd 卡的根路径中写入文件/创建文件夹?例如。/storage/6265-6530/

我的安卓版本是7。

谢谢

标签: javaandroidstorage

解决方案


推荐阅读