10E 是一款使用 Android 原生技术开发的眼部健康保护工具,核心目标是 防止用户长时间近距离使用手机,从而降低视疲劳和近视风险。
一、应用简介
现代人每天面对手机屏幕的时间越来越长,近距离用眼是导致视疲劳、近视加深的主要原因之一。10E 通过前置摄像头实时检测手机与人脸的距离,当距离过近时自动遮罩屏幕并给出提醒,帮助用户养成健康的用眼习惯。
设计理念:不打扰正常使用,只在距离过近时介入,用温和的遮罩提示用户调整姿势。
二、核心功能
- 距离监测:利用前置摄像头周期性拍摄画面,检测人脸并推算手机到脸部的距离。
- 智能遮罩:当距离低于用户设定的阈值时,以悬浮层遮住屏幕并显示护眼提示,拉开距离后自动恢复。
- 阈值自定义:用户可根据自身习惯调节触发距离,兼顾灵敏度与体验。
- 无感后台运行:基于无障碍服务,后台低功耗运行,不干扰其他应用正常使用。
三、技术原理
10E 的核心流程可以概括为 拍摄 → 检测 → 测距 → 干预 四个步骤:
1. 前置摄像头拍摄
应用通过 Camera API 周期性地从前置摄像头获取一帧画面,拍摄频率经过优化,在保证实时性的同时尽量降低功耗。
2. 人脸检测
对拍摄到的画面使用 Android 系统内置的人脸检测 API 进行识别。如果画面中存在人脸,则进入下一步测距;未检测到人脸时跳过,避免误触发。应用只做简单的人脸状态判断,不记录任何人脸信息。
3. 距离推算
这是 10E 的核心算法环节。在相同摄像头焦距下,人脸在画面中占用的像素面积与手机到脸部的物理距离成反比:
- 距离近 → 人脸在画面中占比大
- 距离远 → 人脸在画面中占比小
通过标定计算,将人脸检测返回的面部边界框大小映射为估算距离,并与用户设定的阈值进行比较。
4. 悬浮层遮罩干预
当估算距离低于设定阈值时,应用通过 WindowManager 添加一个覆盖全屏的半透明悬浮层,并展示护眼提示文字。用户将手机拉远至安全距离后,悬浮层自动消失,恢复正常使用。
技术要点:悬浮层使用 TYPE_APPLICATION_OVERLAY 窗口实现,结合无障碍服务确保遮罩能在大多数场景正常显示。
四、权限说明
10E 仅申请实现功能所需的最小权限集合:
- 摄像头权限(
CAMERA):用于前置摄像头拍摄画面以检测人脸距离。 - 无障碍服务:用于实现悬浮遮罩层的显示与隐藏控制。
- 悬浮窗权限(
SYSTEM_ALERT_WINDOW):用于在全屏上方绘制遮罩层。
五、隐私与安全
隐私保护是 10E 的核心设计原则:
- 完全本地运行:所有的人脸检测、距离计算逻辑均在设备本地完成,不涉及任何云端处理。
- 无联网权限:应用未声明
INTERNET权限,从系统层面杜绝了数据外传的可能。 - 不保存图像:摄像头拍摄的画面仅在内存中实时处理,检测完成后立即丢弃,不写入存储。
- 无账号体系:无需注册登录,不收集任何用户身份信息。
10E 没有网络权限,无法将任何数据发送到外部服务器。这是隐私保护的最有力保障。
下载
点击下方按钮前往 10E 详情页查看更多信息并下载 APK 安装包:
前往 10E 详情页下载