在应用程序的AndroidManifest.xml文件中添加WRITE_EXTERNAL_STORAGE权限。
具体地说,应用程序需要声明WRITE_EXTERNAL_STORAGE权限,以允许其向外部存储设备(例如SD卡)写入数据。为此,请在应用程序的AndroidManifest.xml文件中添加以下代码:
此外,如果您的应用程序使用Target SDK 30或更高版本,则可能还需要将requestLegacyExternalStorage设置为true,以允许此权限。为此,请在AndroidManifest.xml文件中的
android:requestLegacyExternalStorage="true"
请注意,如果您使用的是Android 10或更高版本,则需要使用Android的新文件分区模式来访问媒体和下载目录。您可以使用以下代码检查您的设备是否支持新的文件分区模式:
if (Environment.isExternalStorageLegacy()) {
// Use the legacy external storage directory
File downloadFolder = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
// ...
} else {
// Use the new file-based directory
File downloadFolder = context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS);
// ...
}
如果您要访问媒体文件夹,则需要将Environment.DIRECTORY_DOWNLOADS替换为Environment.DIRECTORY_MOVIES,Environment.DIRECTORY_MUSIC或Environment.DIRECTORY_PICTURES。