一个纯本地的 Android 应用:给某个应用设一个倒计时,到点后自动对它执行 am force-stop。适合睡前听 ASMR、听歌、挂直播,听着听着睡着了也不用担心 App 跑一整晚耗电发热。
- 无网络、无分析、无广告、不收集任何用户数据。
- 数据全部存在本机 SQLite,不上传任何地方。
- 不依赖任何云服务或账号。
- 不做常驻清理工具;只在倒计时到点时唤醒执行一次。
- 睡前听 ASMR / 音乐 / 播客,到点自动停止目标 App。
- 挂直播当背景音,睡着后自动停掉。
- 给短视频、游戏等容易沉迷的 App 加一个“到点就停”的限制。
- 对明确知道用途的系统组件设置临时停止任务,例如蓝牙相关包(需谨慎)。
任务通过 AlarmManager 调度,到点由 BroadcastReceiver 唤醒,在后台对目标包名执行 am force-stop <package>。App 执行完立即退出,不做常驻前台服务。
am force-stop 属于系统级特权命令,普通应用 UID 无法直接执行,需要特权来源。本应用按以下优先级选择执行器:
| 优先级 | 执行器 | 说明 |
|---|---|---|
| 1 | Root | 设备已 Root,通过 su -c am force-stop 执行。 |
| 2 | Shizuku | 已安装并运行 Shizuku 且授权本应用,通过 Shizuku 授权进程执行。 |
| 3 | 无权限 | 上述都不可用时,任务无法执行,会标记为失败。 |
- 选择已安装应用作为目标,支持搜索应用名 / 包名。
- 支持 全部 / 用户应用 / 系统应用 筛选,可选择部分没有桌面入口的系统包。
- 设置倒计时时长:秒 / 分钟 / 小时。
- 首页和创建页显示最近选择的应用,常用目标不用每次重新搜索。
- 首页突出显示下一次即将自动停止的任务和剩余时间。
- 两个动作开关:执行
force-stop、停止后发送通知。 - 任务列表查看状态:等待 / 执行中 / 完成 / 失败 / 取消。
- 设置页可切换多套柔和低饱和主题色。
- 日志收纳为设置页的二级界面,可查看执行日志与诊断日志。
- 设置页包含关于卡片,显示应用说明、版本号和仓库链接。
- 开机后自动恢复未触发的任务并重新调度。
停止系统应用可能影响蓝牙、通知、设置或其他系统功能,请只对自己明确了解的包使用。
0.4.0
0.4.0:首页/创建页新增最近选择快捷入口;首页新增下一任务倒计时提示。0.3.2:设置页新增关于卡片,显示应用说明、版本号与 GitHub 仓库链接。0.3.1:应用选择列表纳入系统应用,并提供全部 / 用户应用 / 系统应用筛选。0.3.0:新增柔和主题色预设;新增设置页;日志移入设置页并作为二级页面查看。0.2.0:移除 ADB 执行器;优化应用列表缓存;开启 release 瘦身构建。
要求:JDK 8+、Android SDK(compileSdk 34)、Gradle wrapper 已附带。
gradlew.bat assembleDebug # Windows debug
./gradlew assembleDebug # macOS / Linux debugDebug APK:
app/build/outputs/apk/debug/app-debug.apk
Release APK:
gradlew.bat assembleReleaseapp/build/outputs/apk/release/app-release.apk
安装到已连接设备:
adb install -r app/build/outputs/apk/release/app-release.apkminSdk 26,targetSdk 34,versionName
0.4.0。
- Kotlin + Jetpack Compose + Material 3
- Compose BOM
2022.10.00,Kotlin 1.7.20,Compiler Extension1.3.2 - MVVM(
MainViewModel+ Compose 状态) - 本地 SQLite(自定义
SQLiteOpenHelper,无 Room) AlarmManager+BroadcastReceiver调度- Shizuku
api/provider13.1.5
app/src/main/java/com/vexeno/autostoptimer/
├─ AutoStopTimerApp.kt # Application 入口
├─ MainActivity.kt # Compose 入口
├─ app/ # AppContainer、调试日志、主题偏好存储
├─ domain/ # 接口与模型(CommandExecutor、ExecResult、StopTask...)
├─ executor/ # 执行器实现(Root / Shizuku / Resolver / ShellRunner)
├─ scheduler/ # AlarmManager 调度与任务执行管理
├─ receiver/ # 触发接收器、开机恢复
├─ data/ # SQLite 仓库与 DBHelper
└─ presentation/ # Compose UI、ViewModel 与主题预设
- 全程离线运行,不发起任何网络请求。
- 不含任何分析、广告、遥测 SDK。
- 应用列表、任务、日志仅存于本机应用私有目录。