更新记录
1.0.0(2026-03-13)
- 支持 Android 前台服务保活增强
- 支持启动和停止前台服务
- 支持自定义通知文案
- 支持查询当前运行状态
- 支持记录用户是否开启保活,并在开机后尝试恢复
- 支持打开电池优化设置
- 支持尽力打开厂商自启动管理页
- 支持打开当前应用设置页
- 支持记录少量关键事件,方便判断保活链路是否执行
平台兼容性
uni-app(4.75)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| √ | √ | × | × | √ | √ | √ | √ | √ |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | × | × | × |
uni-app x(4.75)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| × | × | √ | √ | √ | × |
austin-keepalive
austin-keepalive 是一个 Android 保活增强插件。
当前目录下的 index.vue 是模板页,演示的是一套完整的保活试用页面,包含:
- 启动 Android 前台服务
- 停止 Android 前台服务
- 自定义通知标题和通知内容
- 刷新当前保活状态
- 打开电池优化设置
- 打开厂商自启动设置
- 打开应用详情设置
- 查看开机恢复相关状态
- 查看少量关键记录,判断恢复链路有没有真正走通
试用说明
- 可以直接点击“试用插件”
- 试用内容就是完整的模板页面,包含页面样式、按钮交互、状态展示和关键记录展示
- 打自定义基座后运行模板页,点击“启动保活”会直接拉起前台服务,并显示常驻通知
- 模板页里已经把最常用的设置入口和状态判断都接好了,方便直接实测
- 如果要验证开机恢复,启动保活后重启手机,再回到页面查看“运行状态”“最近启动”和“关键记录”
- 简单、直接,方便你按自己的业务再做二次接入
功能特性
- 支持 Android 前台服务保活增强
- 支持启动和停止前台服务
- 支持自定义通知文案
- 支持查询当前运行状态
- 支持记录用户是否开启保活,并在开机后尝试恢复
- 支持打开电池优化设置
- 支持尽力打开厂商自启动管理页
- 支持打开当前应用设置页
- 支持记录少量关键事件,方便判断保活链路是否执行
安装
将 uni_modules/austin-keepalive 目录复制到项目的 uni_modules 目录下。
模板页示例:
平台说明
Android
- 支持
- 模板页可以直接运行并测试前台服务保活
iOS
- 不支持通用保活
- iOS 端只会返回不支持
最小调用
import {
startKeepAlive,
stopKeepAlive,
getKeepAliveStatus,
getKeepAliveDiagnostics,
} from '@/uni_modules/austin-keepalive'
const startRet = startKeepAlive({
notificationTitle: '后台保活中',
notificationText: '前台服务正在运行',
})
console.log('startRet', startRet)
console.log('status', getKeepAliveStatus())
console.log('diagnostics', getKeepAliveDiagnostics())
const stopRet = stopKeepAlive()
console.log('stopRet', stopRet)
API
startKeepAlive(options?)
启动 Android 前台服务。
参数:
notificationTitle: 通知标题notificationText: 通知内容channelId: 通知渠道 IDchannelName: 通知渠道名称
stopKeepAlive()
停止当前前台服务。
getKeepAliveStatus()
返回当前状态,包括:
supportedrunningautoRestartEnabledplatformmanufacturerbrandmodelsdkIntbatteryOptimizationIgnoredstartedAtlastStartReasonlastFailureReasonlastFailureAtlastAutoStartEntrylastAutoStartFallbacklastReceiverActionlastReceiverAtnotificationTitlenotificationTextchannelId
getKeepAliveDiagnostics()
返回关键记录信息,包括:
lastFailureReasonlastFailureAtlastAutoStartEntrylastAutoStartFallbacklastReceiverActionlastReceiverAtrecentLogsText
clearKeepAliveDiagnostics()
清空最近一次失败原因、自启动跳转记录、广播记录和关键记录。
openBatteryOptimizationSettings()
打开系统电池优化相关设置页。
openAutoStartSettings()
尝试打开厂商自启动管理页;不同品牌成功率不同。
openAppSettings()
打开当前应用详情设置页。
模板页字段
模板页主要会展示这些信息:
| 字段名 | 说明 |
|---|---|
running |
当前前台服务是否真的在运行 |
autoRestartEnabled |
是否记录了“开机自动恢复”的用户意图 |
batteryOptimizationIgnored |
当前是否已被系统电池优化忽略 |
lastStartReason |
最近一次成功启动来源 |
lastFailureReason |
最近一次异常原因 |
lastAutoStartEntry |
最近一次命中的厂商自启动设置入口 |
lastAutoStartFallback |
最近一次是否回退到应用设置 |
lastReceiverAction |
最近一次收到的系统广播 |
recentLogsText |
最近一段关键记录 |
重点字段:
running
- 这个字段最重要
- 它表示前台服务当前是否真的存在
- 判断保活是否还活着,优先看它
autoRestartEnabled
- 它只表示插件记住了“下次开机尝试恢复”
- 不等于系统一定会放行
- 真正是否恢复成功,还是要结合重启后的通知栏和
running来看
lastStartReason
- 用来判断最近一次启动是“手动启动”还是“开机恢复”
- 常见值有:
manualbootquickbootpackage_replacedstopped
recentLogsText
- 这里只保留少量关键记录
- 正常判断是否恢复成功时,通常只看这几类记录:
- 收到系统广播
- 已发起自动恢复
- 前台服务已启动
试用方法
- 点击“试用插件”
- 进入模板页后点击“启动保活”
- 确认通知栏出现常驻通知
- 点击“刷新状态”,确认页面显示“运行中”
- 按需打开“电池优化设置”“自启动设置”“应用设置”
- 如果要验证开机恢复,直接重启手机
- 开机后先看通知栏,再进入页面看“运行状态”“最近启动”“关键记录”
模板页关键动作
模板页已经保留了最常用的几个动作:
handleStartKeepAlivehandleStopKeepAlivehandleRefreshAllhandleOpenBatterySettingshandleOpenAutoStartSettingshandleOpenAppSettings
注意事项
- 这是“保活增强”,不是后台万能权限
- 后台定位、推送、后台上传仍然要分别实现
- Android 12+ / 14+ 对前台服务限制更严格
- iOS 端会返回不支持
- 厂商“自启动开关”没有统一可读接口,通常只能跳转设置页或通过重启设备做实测
autoRestartEnabled=true只代表插件记住了自动恢复意图,不代表 ROM 一定会在开机后放行- 真实验收标准始终是:重启后通知栏是否回来、
running是否为true

收藏人数:
购买源码授权版(
试用
赞赏(0)
下载 594
赞赏 4
下载 11498869
赞赏 1873
赞赏
京公网安备:11010802035340号