70 lines
1.9 KiB
Markdown
70 lines
1.9 KiB
Markdown
# 图片保存权限功能说明
|
|
|
|
## 功能概述
|
|
|
|
为 `PreviewPhoto.ets` 组件中的 `downloadImage` 方法添加了完整的权限检查和申请功能,确保在保存图片到相册时能够正确处理存储权限。
|
|
|
|
## 实现的功能
|
|
|
|
### 1. 权限检查
|
|
- 在下载图片前检查 `ohos.permission.WRITE_MEDIA` 权限
|
|
- 使用 `abilityAccessCtrl.AtManager` 检查权限状态
|
|
|
|
### 2. 权限申请
|
|
- 如果权限未授予,自动申请权限
|
|
- 使用项目中已有的 `PermissionsUtils` 工具类
|
|
- 提供友好的用户提示
|
|
|
|
### 3. 错误处理
|
|
- 网络连接失败提示
|
|
- 文件写入失败提示
|
|
- 权限拒绝提示
|
|
- 下载进度提示
|
|
|
|
### 4. 国际化支持
|
|
- 所有提示信息都使用字符串资源
|
|
- 支持多语言显示
|
|
|
|
## 修改的文件
|
|
|
|
### 1. PreviewPhoto.ets
|
|
- 添加权限检查和申请方法
|
|
- 优化 `downloadImage` 方法的错误处理
|
|
- 使用字符串资源替代硬编码文本
|
|
|
|
### 2. module.json5
|
|
- 添加 `ohos.permission.WRITE_MEDIA` 权限声明
|
|
- 添加 `ohos.permission.READ_MEDIA` 权限声明
|
|
- 使用字符串资源作为权限说明
|
|
|
|
### 3. string.json
|
|
- 添加权限相关的字符串资源
|
|
- 添加用户提示信息的字符串资源
|
|
|
|
## 权限说明
|
|
|
|
### WRITE_MEDIA 权限
|
|
- 用途:保存图片到相册
|
|
- 申请时机:用户点击保存图片时
|
|
- 说明:用于将下载的图片写入到设备相册
|
|
|
|
### READ_MEDIA 权限
|
|
- 用途:读取相册中的图片
|
|
- 申请时机:应用启动时
|
|
- 说明:用于访问用户相册中的图片
|
|
|
|
## 使用流程
|
|
|
|
1. 用户点击保存图片按钮
|
|
2. 系统检查是否有存储权限
|
|
3. 如果没有权限,弹出权限申请对话框
|
|
4. 用户授权后,开始下载图片
|
|
5. 下载完成后保存到相册
|
|
6. 显示相应的成功或失败提示
|
|
|
|
## 注意事项
|
|
|
|
1. 权限申请是异步操作,需要等待用户响应
|
|
2. 如果用户拒绝权限,会显示提示信息
|
|
3. 网络下载和文件写入都有超时设置
|
|
4. 所有操作都有相应的错误处理 |