【发布时间】:2019-06-20 02:39:18
【问题描述】:
我正在创建一个颤振应用程序,我想在其中下载图像并将其存储到外部存储(不是文档目录),以便任何照片库应用程序都可以查看它。 我正在使用以下代码创建目录
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);
}
});
我已经在设置中验证了该应用已获得权限,也正如这里的一些答案所建议的那样,我还尝试手动从设置应用授予权限,但没有成功。
【问题讨论】:
标签: android io dart flutter storage