# SelfDiscipline **Repository Path**: du1in9/SelfDiscipline ## Basic Information - **Project Name**: SelfDiscipline - **Description**: 一款智能的 Android 屏幕时间管理应用,通过自动监控、定时提醒和强制锁定,帮助您养成良好的用眼习惯。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-04-03 - **Last Updated**: 2026-04-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 自律助手 - Android 眼睛保护应用 👁️ 一个帮助你保护眼睛健康的手机自律应用 ## 📱 简介 自律助手是一款专为保护眼睛健康设计的 Android 应用。通过智能监控屏幕使用时间,定时提醒您休息,帮助预防眼睛疲劳和干涩。 - ✅ 智能计时:精确记录亮屏使用时长,息屏自动暂停 - ✅ 自定义时长:自由设置专注时间和休息时间 - ✅ 自动锁定:到达设定时间后自动锁定屏幕 - ✅ 悬浮窗显示:实时显示倒计时,不干扰其他操作 - ✅ 后台运行:前台服务保活,确保计时准确 - ✅ 循环工作:专注→休息→专注,自动循环 ## 🚀 快速开始 ### 1. 下载应用 - 从 [Releases](https://github.com/du1in9/SelfDiscipline/releases) 页面下载最新版本的 APK - 或直接克隆项目自行编译 ### 2. 安装与配置 **安装步骤**: 1. 下载 APK 文件 2. 在 Android 设备上允许"未知来源"安装 3. 安装应用 **首次使用配置**: ``` 打开应用 → 设置专注时长 → 设置休息时长 → 点击"开始监控" ``` ### 3. 权限授予 应用需要以下权限: | 权限 | 用途 | 必要性 | |------|------|--------| | 设备管理器 | 锁定屏幕 | ⭐ 必需 | | 悬浮窗权限 | 显示倒计时悬浮窗 | ⭐ 必需 | | 电池优化豁免 | 保证后台服务运行 | ⭐ 必需 | **手动开启权限**(如果自动引导失败): - 悬浮窗权限:设置 → 应用管理 → 自律助手 → 权限管理 → 悬浮窗 → 开启 - 电池优化:设置 → 电池与性能 → 应用智能省电 → 自律助手 → 无限制 ## 🛠️ 技术实现 - 开发语言: Kotlin 1.9+ - 最低 SDK: Android 8.0 (API 26) - 目标 SDK: Android 14 (API 34) - 架构模式: MVVM - 构建工具: Gradle Kotlin DSL | 技术 | 用途 | |------|------| | Foreground Service | 前台服务保活,确保后台持续运行 | | DevicePolicyManager | 设备管理器,实现屏幕锁定 | | BroadcastReceiver | 监听屏幕开关状态 | | CountDownTimer | 倒计时功能 | | System Alert Window | 悬浮窗显示 | | SharedPreferences | 本地数据存储 | ## 📁 项目结构 ``` self-discipline/ ├── app/ │ ├── src/main/ │ │ ├── java/com/selfdiscipline/app/ │ │ │ ├── MainActivity.kt # 主界面 - 设置和启动服务 │ │ │ ├── LockActivity.kt # 锁定界面 - 休息倒计时 │ │ │ ├── service/ │ │ │ │ ├── ScreenMonitorService.kt # 屏幕监控服务(核心) │ │ │ │ └── CountdownOverlayService.kt # 悬浮窗倒计时服务 │ │ │ └── receiver/ │ │ │ └── DeviceAdminReceiver.kt # 设备管理器接收器 │ │ ├── res/ │ │ │ ├── layout/ │ │ │ │ ├── activity_main.xml # 主界面布局 │ │ │ │ ├── activity_lock.xml # 锁定界面布局 │ │ │ │ └── overlay_countdown.xml # 悬浮窗布局 │ │ │ ├── values/ │ │ │ │ ├── strings.xml # 字符串资源 │ │ │ │ ├── colors.xml # 颜色资源 │ │ │ │ └── themes.xml # 主题样式 │ │ │ └── xml/ │ │ │ └── device_admin.xml # 设备管理器配置 │ │ └── AndroidManifest.xml # 应用清单文件 │ └── build.gradle.kts # 模块构建配置 ├── build.gradle.kts # 项目构建配置 ├── settings.gradle.kts # Gradle 设置 ├── gradle.properties # Gradle 属性 └── README.md # 项目说明文档 ``` ## 💻 在 Android Studio 中打开 ### 环境要求 - Android Studio Hedgehog (2023.1.1) 或更高版本 - JDK 17+ - Android SDK (API 26-34) - Gradle 8.2+ ### 导入项目 1. 启动 Android Studio 2. 选择 File → Open 3. 选择项目目录 4. 等待 Gradle 同步完成 5. 连接设备或启动模拟器 6. 点击 Run 按钮 ### 编译命令 ```bash # 调试版本 ./gradlew assembleDebug # 发布版本(需配置签名) ./gradlew assembleRelease ``` 如果这个项目对你有帮助,请给一个 ⭐ Star!