0

目前 我正在像这样存储我的文件(图像/视频):

File directoryToStore;
directoryToStore = getBaseContext().getExternalFilesDir("MyImages");

这将返回此路径:

/storage/emulated/0/Android/data/pacageName/files/MyImages/

现在,我想将文件存储在根目录/storage/emulated/0/MyImages/中。我已经尝试过这样做:

File directoryToStore;
directoryToStore = new File(Environment.getExternalStorageDirectory(), "MyImages");

在 Marshmallow 之前的设备上运行时,这工作得非常好,但在 Marshmallow 中找不到文件。


我的问题

我应该/如何将文件存储在根目录中,以便在所有 API 中都可以找到该文件?

4

1 回答 1

0

首先,确保您在 Android 清单文件中具有以下权限,因为您正在尝试将文件保存到设备的外部存储中。

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

其次,检查是否为您的应用程序授予存储权限(当您在 Marshmallow 或更高操作系统版本的设备上执行时)。

最后,确保是否有名为“MyImages”的目录并检查它是否为 chmod。如果目录不存在,请创建它(mkdir() 将在您的示例中创建目录),然后尝试再次保存您的文件。

于 2017-08-11T08:04:39.927 回答