TECHNICAL DOCUMENT

App 权限申请详解

这一篇展开讲安装 Tortoise 时申请的每个权限具体做什么, 以及拒绝某项会怎样。 想看简版? 看常见问题

我们的承诺

  • 我们申请实现核心功能需要的权限, 不要多余的
  • 每项权限用于本文描述的用途, 不用作其他
  • 没有数据上传 — 所有权限读到的信息都留在你的手机本地

各项权限

使用情况访问 (必须)

做什么: 让 Tortoise 知道”哪个 App 在前台 + 用了多久”。

为什么不能拒: 这是 Tortoise 唯一的感知方式。没有这个权限, 我们不知道孩子在用 App, 也就无法计时, 整个 App 失去意义。

注意: 这个权限能让我们看到”哪个 App 在前台”, 不能看到 App 内具体内容 (孩子在游戏里玩什么、看什么视频). Android 系统本身就不允许任何第三方 App 读这种内容。

悬浮窗

做什么: 时间到的时候, 在屏幕上叠加一个全屏阻断卡片. 不管孩子在用哪个 App, 卡片都能覆盖上去。

拒绝会怎样: 时间到时无法阻断. 我们会降级用一个”全屏通知”代替, 但效果差很多 — 通知容易被孩子下拉关闭。

设备管理员

做什么: 防止孩子直接卸载 App 来绕过限制。

最小用法: 我们只用了 Android 设备管理员里最小的一项 (监视设备开机). 不会读你的任何账号、通讯录、相册、消息。 你随时可以在系统设置里看到 Tortoise 这个”设备管理员”具体被允许做什么。

撤销时: 需要 PIN 验证. 你也可以随时通过设置撤销.

拒绝会怎样: 孩子在系统设置里能直接卸载 App. 我们会在首页显示一个红色警告条提示。

全屏通知

做什么: 配合”时间到”事件, 当屏幕是熄屏状态时把屏幕亮起.

拒绝会怎样: 屏幕熄屏时通知只会震动 / 响铃, 不会主动亮屏. 不影响核心阻断效果。

通知权限

做什么: 给你发”家长告警” (例如孩子超时 / 反复试 PIN). 也用来让 Tortoise 后台监控服务在通知栏显示”正在运行”图标。

拒绝会怎样: 你看不到家长告警通知. 你也看不到”正在运行”图标, 但服务仍在运行, 只是没图标.

隐私底线

  • 所有权限在你手机里本地用
  • 没有云端、没有账号、没有数据上传
  • 卸载 App = 清空所有数据

想了解 PIN 流程 → 家长 PIN 国产 ROM 不杀进程问题 → 怎么让 App 不被系统关掉

原文出处 public/07-permissions-explained.md

添加开发者微信

扫码与我建立联系

WeChat QR Code

验证信息请注明: Tortoise 用户