Skip to content

ZheDongMao/focus-timer-android

Repository files navigation

简体中文 · English

专注倒计时产品预览

一次只做一件事。开始后,不再和自己讨价还价。

Android 10+ Kotlin Jetpack Compose Local only

下载 v2.1 APK

Android 10 及以上 · 约 29 MB · 测试签名,适合个人安装体验


🆕 v2.1 亮点

  • 📊 彩色圆环统计 — 给每次专注起个名字,统计页就会用一枚彩色圆环告诉你今天的时间都花在了哪,中心直接显示总时长。
  • 🎉 庆祝感完成通知 — 应用在后台也不错过:每完成一轮专注,都会收到一条带声音的祝贺通知,整组完成还有"🏆 恭喜"。
  • 🛠 统计不再"丢"时间 — 中途结束的专注、提前结束的休息,实际时长现在都会如实计入统计,并在记录里标注"提前结束"。

查看完整更新公告 →

为什么是它

🎯 承诺式专注

计时开始后没有暂停按钮,也没有随手可点的普通退出入口。

🛡️ 严格但不越权

使用 Android 官方屏幕固定,减少 Home 和最近任务造成的分心。

🌱 数据属于你

无账号、无会员、无广告、无云同步;记录只保存在设备本地。

核心体验

能力 体验
不可暂停倒计时 开始一次专注承诺后,应用不会用暂停按钮给你留下反复犹豫的入口
给专注起名字 每次专注可以命名(如“高数”“英语”),最近用过的名字一键复用
自动专注 / 休息 专注结束自动休息,休息结束自动进入下一轮;休息可提前结束,专注不可以
灵活计划 自定义专注与休息时间,支持单次、指定轮数和无限循环
完成庆祝通知 应用在后台时,每轮专注完成和整组完成都会收到高优先级的祝贺通知
内容占比圆环 统计页用彩色圆环展示各项专注内容的时间占比,中心显示总时长
本地统计 日、周、月视图,今日累计、连续天数、逐条专注记录;中途结束的时间也如实计入
会话恢复 应用重新打开后,根据本地检查点恢复或结算仍在进行的计时
外观主题 支持浅色、深色与跟随系统

严格模式:能做什么,不能做什么

严格模式调用 Android 官方 startLockTask()。首次启用时,系统会要求用户确认屏幕固定。

✅ 严格模式会做 🚫 本项目不会假装能做
固定期间由 Android 限制 Home 和最近任务 不使用设备所有者或无障碍服务控制你的手机
在倒计时页面拦截普通返回操作 不绕过系统手势,谎称用户绝对无法解除固定
完成或紧急退出后主动解除屏幕固定 不阻止系统设置中的强制停止或卸载
通过系统能力减少切换应用带来的分心 不在退到后台后绕过 Android 限制强抢前台

不同品牌和 Android 版本的确认提示、解除手势与限制效果可能不同。

三步开始

1 · 设定
给这次专注起个名字,选择专注、休息、循环方式和普通/严格模式。
2 · 承诺
点击“我已准备好”,计时立即开始。
3 · 完成
专注和休息自动切换,完成后收到祝贺通知,并可查看本组统计。

休息阶段可点击“提前结束休息”直接进入下一轮;专注阶段没有这个按钮。确需中断专注时,在倒计时顶部区域长按 10 秒,或在 5 秒内连续点击 10 次,再完整输入“确认退出”。

隐私优先

会话、设置和统计均保存在设备本地。应用不要求登录,不包含会员、付费、广告或行为追踪,也不会上传专注记录。

活动计时数据已从 Android 云备份和设备迁移中排除;卸载应用会同时清除本地数据。

开发与构建

仓库脚本会把 JDK 17 和 Android SDK 安装到 .tools/,无需预先配置 Android 开发环境。

powershell -ExecutionPolicy Bypass -File .\scripts\bootstrap-android.ps1
$env:JAVA_HOME = (Resolve-Path '.\.tools\jdk-17').Path
$env:ANDROID_HOME = (Resolve-Path '.\.tools\android-sdk').Path
$env:ANDROID_SDK_ROOT = $env:ANDROID_HOME
$env:GRADLE_USER_HOME = (Resolve-Path '.\.tools\gradle-user-home').Path

.\gradlew.bat testDebugUnitTest
.\gradlew.bat lintDebug
.\gradlew.bat compileDebugAndroidTestKotlin
.\gradlew.bat assembleDebug assembleRelease

构建产物:

  • app/build/outputs/apk/debug/app-debug.apk
  • app/build/outputs/apk/release/app-release.apk

Release 构建当前同样使用测试签名,仅适合个人安装和验收。

更完整的 Android 能力边界
  • 普通应用无法阻止用户在系统设置中强制停止或卸载应用。
  • 用户可使用 Android 规定的系统组合手势解除屏幕固定。
  • 系统强制停止后,广播、前台服务和恢复任务会被冻结,直到用户再次打开应用。
  • 同一次开机期间优先使用单调时钟抵抗墙上时间回拨;重启后只能结合本地检查点保守恢复。

Release

许可

本仓库当前未附带开源许可证。除非获得明确的书面许可,否则保留所有权利。

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors