HotPointKeeper 是一个 Android 热点值守工具。它会在前台服务中监测 Wi-Fi 热点状态;当热点处于关闭状态时,按可用方式尝试重新开启。
项目面向 Android 14 至 Android 16(API 34 至 37)。不同厂商 ROM 对热点接口、权限和后台运行的限制不同,是否能成功重拉需要在目标设备上实际验证。
- 通过前台服务持续运行,并在重启后恢复已启用的值守状态。
- 结合 TetheringManager 事件回调和热点状态轮询监测热点。
- 连续两次检测到关闭状态后才触发重拉,避免在状态切换期间重复启动。
- 优先使用已授予的“修改系统设置”权限调用系统热点接口。
- 系统设置方式不可用时,可使用 Root 方式作为后备方案。
- 重拉失败会按 2 秒、5 秒、15 秒、60 秒和 5 分钟逐步退避;应用内保留最近 100 条运行日志。
- 提供通知权限、修改系统设置和忽略电池优化的系统设置入口。
- 可在 Root 设备上尝试关闭系统的热点空闲超时。
- 设备运行 Android 14 或更高版本。
- 应用需要前台服务和通知权限才能稳定显示运行状态。
- “系统设置”方式要求在系统设置中授予应用修改系统设置的特殊权限。
- 如果该方式受设备系统限制,可在已 Root 的设备上授权
su,使用 Root 方式测试或重拉热点。
应用不会绕过运营商的热点资格校验,也不会修改系统组件。没有可用权限或系统拒绝开启热点时,值守服务会记录失败原因,但不能保证启动成功。
- 安装应用后,打开“值守总开关”。
- 按页面提示授予通知权限和修改系统设置权限;如系统容易限制后台运行,可申请忽略电池优化。
- 在“高级设置”中重新检测启动方式,或使用功能测试确认当前设备能否开启热点。
- 值守开启后,应用会监测热点状态,并在确认热点关闭后尝试重拉。
关闭值守总开关后,应用会停止前台服务。若已开启值守,系统启动完成后会自动恢复服务。
项目使用 Gradle Wrapper、Android Gradle Plugin 9.4.0、Kotlin 2.2.10 和 Compose。Gradle 守护进程配置为 JDK 25。
使用 Android Studio 打开项目,或在项目根目录运行:
./gradlew assembleDebug构建产物位于:
app/build/outputs/apk/debug/app-debug.apk
local.properties 仅用于本机 Android SDK 路径和可选的发布签名配置,不能提交到版本控制。发布签名文件也应只保存在本机或受控的密钥管理系统中。
app/src/main/java/com/suvern/hotpointkeeper/
├── controller/ 热点启动策略及选择逻辑
├── monitor/ 热点状态监测
├── prefs/ 本地配置
├── receiver/ 开机恢复
├── service/ 前台值守服务
├── MainActivity.kt
└── RootMain.kt Root 进程入口
本项目采用 MIT License。
