Flutter 实现harmony保存图片到相册功能

由于涉及华为权限问题,代码只能原生去写。

(1)使用沙箱保存图片,然后弹出临时权限,保存沙箱的URI进行保存到相册。此方法不需要权限设置

先把文件写入沙箱,然后使用临时权限进行访问得到 权限URI地址,再对这个地址进行保存到相册。


(2)使用安全按钮进行访问,此时不需要权限。但是由于我们是flutter项目,这个saveButton 默认权限不能在plantformview中去生效,所有安全按钮的做法不适合。 

保存图片/视频可替代权限申请的方案参考如下链接:

原生ArkUI页面请优先使用保存控件:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/photoaccesshelper-savebutton-V5

H5或三方框架等无法使用保存控件场景,可以使用拉起保存确认弹窗api:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-photoaccesshelper-V5#showassetscreationdialog12

通过相机拍摄原始图片修改后直接存入图库,可以使用分段式拍照能力:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/camera-deferred-capture-V5


(3)使用权限,然后进行下载。这个权限有2种,ohos.permission.WRITE_IMAGEVIDEO. 和 ohos.permission.SHORT_TERM_WRITE_IMAGEVIDEO 。第二种申请的要求比第一种低很多,但是我还是申请失败。使用上2种也不一样。

ohos.permission.WRITE_IMAGEVIDEO 权限的具体使用(我这里使用的网络照片)

 ohos.permission.SHORT_TERM_WRITE_IMAGEVIDEO 权限使用说明

详细说明:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/restricted-permissions-V5#section206743388266

使用方式是用户授权的方式,参考文档:https://developer.huawei.com/consumer/cn/doc/best-practices-V5/bpta-permission-application-V5#section1816918297167

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容