SD 卡上改标签报权限错的来龙去脉
现象
歌能正常播放(读没问题),但编辑 SD 卡上歌曲的标签、或往 SD 卡写东西时报权限错误。读与写权限分离,是安卓存储权限体系的基本设计。
按系统版本分两种情况
| 系统版本 | SD 卡写入能力 | 表现 |
|---|---|---|
| 安卓 4.4 | 系统层面 SD 卡对应用只读 | 改不了,这是系统硬限制,不是应用的问题 |
| 安卓 5.0 以上 | 走 SAF 流程按需授权 | 第一次编辑时按弹出的系统流程授予,之后正常 |
安卓 5.0 以上的授权流程
第一次在编辑里写 SD 卡文件时,会弹出系统的文件夹选择/授权界面:
- 在系统弹出的选择器里选中你的 SD 卡(根目录或目标目录)
- 点「允许 / 授权」确认
- 回到应用继续编辑,之后不再重复询问
如果中途点了取消,下次编辑会再次弹出——没弹的话去系统设置的权限管理里检查它是否被禁了存储权限。
为什么读没问题写有问题
播放、扫描只需要读权限(媒体权限那一次授权就覆盖了,见 第一次安装与启动要做对的三件事);而标签编辑是写操作——把改动写回音频文件本身(详见 三种标签编辑器修曲库信息),写操作在 SD 卡上需要额外的系统流程。
授权之后还是不行
- 确认卡没坏:用系统文件管理器试着往 SD 卡手动建个文件夹,建不了是卡或卡槽的问题
- 确认不是 4.4:系统设置 → 关于手机里看安卓版本
- 重启再试:SAF 授权偶尔有状态残留,重启后重新走一遍
- 临时替代方案:把文件拷到内置存储编辑,改完再拷回去
SD 卡上的其他操作
- SD 卡上的音乐文件扫描不出来时,先确认卡已正常挂载(文件夹页能看到目录),再走 扫不出歌的完整排查
- 播放列表备份到 SD 卡的路径说明见 换机时播放列表怎么带走