Я создаю приложение-флаттер, в котором я хочу загрузить и сохранить изображение во внешнем хранилище (не в каталоге документов), чтобы его можно было просмотреть в любом приложении для создания фотогалереи.
Я использую следующий код для создания каталога
var dir = await getExternalStorageDirectory();
if(!Directory("${dir.path}/myapp").existsSync()){
Directory("${dir.path}/myapp").createSync(recursive: true);
}
Это дает мне следующую ошибку
FileSystemException: Creation failed, path = '/storage/emulated/0/myapp' (OS Error: Permission denied, errno = 13)
Я установил разрешения в файле манифеста и использую следующий код для разрешений во время выполнения
List<Permissions> permissions = await Permission.getPermissionStatus([PermissionName.Storage]);
permissions.forEach((p) async {
if(p.permissionStatus != PermissionStatus.allow){
final res = await Permission.requestSinglePermission(PermissionName.Storage);
print(res);
}
});
Я проверил в настройках, что приложение получило разрешение, также как и предлагалось на некоторых ответах здесь, я также попытался дать разрешение из приложения настроек вручную, которое не работало