harmony/features/netease/PERMISSION_README.md
2025-07-10 08:57:32 +08:00

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. 所有操作都有相应的错误处理