Seal 存储权限申请 — MANAGE_EXTERNAL_STORAGE 到底是什么
Seal 请求了哪些存储权限
Seal 在首次打开时会弹出一个关键权限请求:
允许 Seal 访问所有文件(MANAGE_EXTERNAL_STORAGE)
这不是普通的"读写存储空间"权限——是安卓 10 引入的全盘存储访问权限。为什么 Seal 需要它?
为什么要全盘访问
Seal 需要把下载的文件写到用户选的任何位置。以下场景决定了 MANAGE_EXTERNAL_STORAGE 的必要性:
- 用户把下载目录设成了非默认的位置(比如"离线视频"文件夹、SD 卡)
- 用户把 Seal 当成了下载管理器,需要跨目录读取/写入
- 自定义命令模板里的输出路径可能在任何位置
安卓 10+ 的分区存储(Scoped Storage)默认阻止应用访问其他应用的私有目录或用户自建的目录——MANAGE_EXTERNAL_STORAGE 是绕开这个限制的标准方式。
怎么给权限
权限请求弹窗里会有"设置"入口,点进去把 Seal 的"允许访问所有文件"开关打开即可。部分厂商 ROM(MIUI、ColorOS、OneUI)的权限面板位置可能不同,但入口一定在:系统设置 → 应用 → Seal → 权限 → 文件。
不给权限会怎样
不给全盘权限时 Seal 会退回到 Android 默认的应用数据目录(Android/data/com.junkfood.seal/files/)。问题:
- 大多数文件管理器看不到这个路径里的文件(安卓安全限制)
- 下载完你可能找不到文件在哪
- 自定义下载目录设置可能被拒绝
- SD 卡路径完全无法使用
建议:首次打开 Seal 时就给它全盘权限,避免后续找不到文件。
权限相关的历史 bug
v1.8.2 修了一个权限问题:在 Android 5.0 上崩溃——因为 v1.8.0 把 target API 升到 34(Android 14)后,某些设备的权限请求兼容性出了问题。v1.8.2 回退了这个兼容性改动。
v1.12.0 修了另一个:在不同用户 profile 或 private space 里使用 Seal 时权限失效——某些国产机支持双开应用或私密空间,Seal 在这些环境下之前会拿不到完整存储权限。