1.注册storage读写权限
在AndroidManifest.xml注册文件中注册权限如下:
2.使用的插件
cached_network_image: ^2.0.0
image_gallery_saver: ^1.2.2
permission_handler: '^4.2.0+hotfix.2'
cached_network_image是我用于缓存网络图片的插件(也可以不使用这个插件,则下面获取图片文件时需要修改);
image_gallery_saver用于保存图片或文件;
permission_handler用于向系统申请权限(之前注册过的权限)。
3.请求权限
import 'package:permission_handler/permission_handler.dart';
// ...
// 检查并请求权限
PermissionStatus status = await PermissionHandler().checkPermissionStatus(PermissionGroup.storage);
if (PermissionStatus.granted != status) {
PermissionHandler().requestPermissions([
PermissionGroup.storage,
]);
}
可以使用如上代码检查并请求权限,这段代码可以放在widget的initState方法中,也可以放在点击保存按钮的onPress方法中。放在不同的位置,向系统申请