App 权限申请详解
这一篇展开讲安装 Tortoise 时申请的每个权限具体做什么, 以及拒绝某项会怎样。 想看简版? 看常见问题。
我们的承诺
- 我们只申请实现核心功能需要的权限, 不要多余的
- 每项权限只用于本文描述的用途, 不用作其他
- 没有数据上传 — 所有权限读到的信息都留在你的手机本地
各项权限
使用情况访问 (必须)
做什么: 让 Tortoise 知道”哪个 App 在前台 + 用了多久”。
为什么不能拒: 这是 Tortoise 唯一的感知方式。没有这个权限, 我们不知道孩子在用 App, 也就无法计时, 整个 App 失去意义。
注意: 这个权限只能让我们看到”哪个 App 在前台”, 不能看到 App 内具体内容 (孩子在游戏里玩什么、看什么视频). Android 系统本身就不允许任何第三方 App 读这种内容。
悬浮窗
做什么: 时间到的时候, 在屏幕上叠加一个全屏阻断卡片. 不管孩子在用哪个 App, 卡片都能覆盖上去。
拒绝会怎样: 时间到时无法阻断. 我们会降级用一个”全屏通知”代替, 但效果差很多 — 通知容易被孩子下拉关闭。
设备管理员
做什么: 防止孩子直接卸载 App 来绕过限制。
最小用法: 我们只用了 Android 设备管理员里最小的一项 (监视设备开机). 不会读你的任何账号、通讯录、相册、消息。 你随时可以在系统设置里看到 Tortoise 这个”设备管理员”具体被允许做什么。
撤销时: 需要 PIN 验证. 你也可以随时通过设置撤销.
拒绝会怎样: 孩子在系统设置里能直接卸载 App. 我们会在首页显示一个红色警告条提示。
全屏通知
做什么: 配合”时间到”事件, 当屏幕是熄屏状态时把屏幕亮起.
拒绝会怎样: 屏幕熄屏时通知只会震动 / 响铃, 不会主动亮屏. 不影响核心阻断效果。
通知权限
做什么: 给你发”家长告警” (例如孩子超时 / 反复试 PIN). 也用来让 Tortoise 后台监控服务在通知栏显示”正在运行”图标。
拒绝会怎样: 你看不到家长告警通知. 你也看不到”正在运行”图标, 但服务仍在运行, 只是没图标.
隐私底线
- 所有权限都在你手机里本地用
- 没有云端、没有账号、没有数据上传
- 卸载 App = 清空所有数据
想了解 PIN 流程 → 家长 PIN 国产 ROM 不杀进程问题 → 怎么让 App 不被系统关掉