Skip to content

Repository files navigation

HotPointKeeper

HotPointKeeper 是一个 Android 热点值守工具。它会在前台服务中监测 Wi-Fi 热点状态;当热点处于关闭状态时,按可用方式尝试重新开启。

项目面向 Android 14 至 Android 16(API 34 至 37)。不同厂商 ROM 对热点接口、权限和后台运行的限制不同,是否能成功重拉需要在目标设备上实际验证。

界面预览

HotPointKeeper 主界面

功能

  • 通过前台服务持续运行,并在重启后恢复已启用的值守状态。
  • 结合 TetheringManager 事件回调和热点状态轮询监测热点。
  • 连续两次检测到关闭状态后才触发重拉,避免在状态切换期间重复启动。
  • 优先使用已授予的“修改系统设置”权限调用系统热点接口。
  • 系统设置方式不可用时,可使用 Root 方式作为后备方案。
  • 重拉失败会按 2 秒、5 秒、15 秒、60 秒和 5 分钟逐步退避;应用内保留最近 100 条运行日志。
  • 提供通知权限、修改系统设置和忽略电池优化的系统设置入口。
  • 可在 Root 设备上尝试关闭系统的热点空闲超时。

使用前提

  • 设备运行 Android 14 或更高版本。
  • 应用需要前台服务和通知权限才能稳定显示运行状态。
  • “系统设置”方式要求在系统设置中授予应用修改系统设置的特殊权限。
  • 如果该方式受设备系统限制,可在已 Root 的设备上授权 su,使用 Root 方式测试或重拉热点。

应用不会绕过运营商的热点资格校验,也不会修改系统组件。没有可用权限或系统拒绝开启热点时,值守服务会记录失败原因,但不能保证启动成功。

使用方法

  1. 安装应用后,打开“值守总开关”。
  2. 按页面提示授予通知权限和修改系统设置权限;如系统容易限制后台运行,可申请忽略电池优化。
  3. 在“高级设置”中重新检测启动方式,或使用功能测试确认当前设备能否开启热点。
  4. 值守开启后,应用会监测热点状态,并在确认热点关闭后尝试重拉。

关闭值守总开关后,应用会停止前台服务。若已开启值守,系统启动完成后会自动恢复服务。

构建

项目使用 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

About

HotPointKeeper —— 让 Android 热点保持始终开启

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages