🛡️

童护 ChildGuard

面向儿童平板的本地家长管控工具。v0.4.0 在首次设置家长 PIN 后提供一次性权限向导、常驻权限状态与逐项修复入口,帮助家长完成使用情况访问、无障碍、通知和电池策略配置,再启用每日有效计时与严格应用白名单。
童护 v0.2.0 在 API 35 模拟器中的实际运行界面

历史 v0.2.0 界面证据,仅用于展示整体视觉布局,不作为 v0.3.0 新计时与管控能力的验证截图;画面不含真实儿童或个人数据

技术栈

KotlinAndroidAlarmManagerPBKDF2本地优先

v0.4.0 已验证功能

  • 首次设置 PIN 后自动进入权限向导;核心权限、推荐权限和小米系统建议分层展示,并在从系统设置返回后重新检测
  • 权限入口优先打开精确系统页面,失败时依次回退到对应系统页或本应用详情页,避免用户无处寻找
  • 4–8 位家长 PIN,使用随机盐、PBKDF2-HMAC-SHA256 120,000 次和常量时间比较,只在本机保存摘要
  • 家长设置默认锁定,错误 PIN 不解锁;正确 PIN 可解锁或修改,应用进入后台后自动重新锁定
  • 每日额度只累计屏幕点亮且当前受控应用真实位于前台的时间;熄屏、停留桌面或不在受控应用时不计时
  • 计时器每 5 秒采样有效场景,界面每秒更新剩余时间,避免从 59 分钟长时间不动后突然跳到 52 分钟
  • 枚举启动器 App 并保存严格允许清单;未授权应用会进入 PIN 管控流程,而不是只保存一份不生效的规则
  • 应用启动、家长设置和锁定解除使用同一 PIN;到达当天额度后锁定,正确 PIN 可临时解锁 30 分钟,结束后再次锁定
  • 当天额度、累计时长、锁定和临时解锁截止时间持久化,应用重启和设备重启后继续生效,不以结束进程规避
  • 关闭应用数据云备份和设备迁移,避免 PIN 摘要及本地规则被系统备份带走

测试证据

  • 16/16 自动化测试通过;正式构建、Lint、权限、签名和安装包完整性检查通过
  • 覆盖计时场景判断、逐秒显示、每日状态、严格白名单、启动 PIN、30 分钟解锁和重启状态恢复逻辑
  • APK Signature Scheme v2、RSA 4096、单签名者和 ZIP 对齐通过;测试日志无 ChildGuard 崩溃

当前能力边界

  • 使用情况访问和无障碍是核心管控权限;通知、电池策略及小米后台设置属于增强稳定性的推荐项,系统页面名称会因厂商版本不同而变化
  • 普通安装受 Android 系统权限边界约束:不能等同 Device Owner 或系统级家长控制,也不能保证阻止卸载、强制停止或系统安全模式绕过
  • Device Owner、Lock Task 和应用暂停不属于当前普通安装版承诺范围
  • 受控浏览器、网站白名单、每周额度、多套日程和使用历史仍在后续规划中

安装与升级

  • v0.1.x 的历史签名口令不可恢复;已安装 v0.1.x 时需先卸载,卸载会删除旧 PIN、规则和状态
  • v0.2.0 起使用同一长期证书,v0.4.0 可在该版本基础上覆盖更新并保留本地状态
正式版本:v0.4.0(versionCode 4)
发布日期:2026-08-05 · 权限向导、设置回退、返回复检与 16 项自动化门禁通过
Android 8.0+(minSdk 26)· targetSdk 34 · 普通安装版
文件大小:4,583,988 字节 · SHA-256:9b9f55ae6a79c33354c3c1bb281c805b9faa407725e33af43a97420d6af665fd
⬇ 下载正式 APK