更新记录

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: 通知渠道 ID
  • channelName: 通知渠道名称

stopKeepAlive()

停止当前前台服务。

getKeepAliveStatus()

返回当前状态,包括:

  • supported
  • running
  • autoRestartEnabled
  • platform
  • manufacturer
  • brand
  • model
  • sdkInt
  • batteryOptimizationIgnored
  • startedAt
  • lastStartReason
  • lastFailureReason
  • lastFailureAt
  • lastAutoStartEntry
  • lastAutoStartFallback
  • lastReceiverAction
  • lastReceiverAt
  • notificationTitle
  • notificationText
  • channelId

getKeepAliveDiagnostics()

返回关键记录信息,包括:

  • lastFailureReason
  • lastFailureAt
  • lastAutoStartEntry
  • lastAutoStartFallback
  • lastReceiverAction
  • lastReceiverAt
  • recentLogsText

clearKeepAliveDiagnostics()

清空最近一次失败原因、自启动跳转记录、广播记录和关键记录。

openBatteryOptimizationSettings()

打开系统电池优化相关设置页。

openAutoStartSettings()

尝试打开厂商自启动管理页;不同品牌成功率不同。

openAppSettings()

打开当前应用详情设置页。

模板页字段

模板页主要会展示这些信息:

字段名 说明
running 当前前台服务是否真的在运行
autoRestartEnabled 是否记录了“开机自动恢复”的用户意图
batteryOptimizationIgnored 当前是否已被系统电池优化忽略
lastStartReason 最近一次成功启动来源
lastFailureReason 最近一次异常原因
lastAutoStartEntry 最近一次命中的厂商自启动设置入口
lastAutoStartFallback 最近一次是否回退到应用设置
lastReceiverAction 最近一次收到的系统广播
recentLogsText 最近一段关键记录

重点字段:

running

  • 这个字段最重要
  • 它表示前台服务当前是否真的存在
  • 判断保活是否还活着,优先看它

autoRestartEnabled

  • 它只表示插件记住了“下次开机尝试恢复”
  • 不等于系统一定会放行
  • 真正是否恢复成功,还是要结合重启后的通知栏和 running 来看

lastStartReason

  • 用来判断最近一次启动是“手动启动”还是“开机恢复”
  • 常见值有:
    • manual
    • boot
    • quickboot
    • package_replaced
    • stopped

recentLogsText

  • 这里只保留少量关键记录
  • 正常判断是否恢复成功时,通常只看这几类记录:
    • 收到系统广播
    • 已发起自动恢复
    • 前台服务已启动

试用方法

  1. 点击“试用插件”
  2. 进入模板页后点击“启动保活”
  3. 确认通知栏出现常驻通知
  4. 点击“刷新状态”,确认页面显示“运行中”
  5. 按需打开“电池优化设置”“自启动设置”“应用设置”
  6. 如果要验证开机恢复,直接重启手机
  7. 开机后先看通知栏,再进入页面看“运行状态”“最近启动”“关键记录”

模板页关键动作

模板页已经保留了最常用的几个动作:

  • handleStartKeepAlive
  • handleStopKeepAlive
  • handleRefreshAll
  • handleOpenBatterySettings
  • handleOpenAutoStartSettings
  • handleOpenAppSettings

注意事项

  • 这是“保活增强”,不是后台万能权限
  • 后台定位、推送、后台上传仍然要分别实现
  • Android 12+ / 14+ 对前台服务限制更严格
  • iOS 端会返回不支持
  • 厂商“自启动开关”没有统一可读接口,通常只能跳转设置页或通过重启设备做实测
  • autoRestartEnabled=true 只代表插件记住了自动恢复意图,不代表 ROM 一定会在开机后放行
  • 真实验收标准始终是:重启后通知栏是否回来、running 是否为 true

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。