更新记录
2.1.1(2026-11-03) 下载此版本
修复 v2.1.0 的两个编译阻断问题(老用户请务必升级到本版本后再打自定义基座):
- 修复
KeepAliveService缺失mediaPlayer字段声明导致的 Kotlin 编译失败 - 修复
WifiLock顶层类在 compileSdk 33+ 的 SDK 存根中移除导致的编译失败(改用WifiManager.WifiLock与WifiManager.WIFI_MODE_*) - 健壮性:通知小图标对应用图标缺失设防,避免 Android 12+ 前台服务通知非法导致宿主进程崩溃
- 优化:通知栏 setter 不再重置稳定定时器相位/重建播放器;前后台回调去除栈内跳转重复触发;服务销毁清理唤醒锁超时任务
interface.uts嵌套函数类型别名改为具名引用,规避 HBuilderX 5.33-alpha UTS 编译器unkown instance崩溃- 新增
verification/native-app原生验证壳(Android 12 模拟器实测通过:保活/定时器/闹钟/通知点击/停止不复燃)
2.1.0(2026-11-02) 下载此版本
新增鸿蒙Next(HarmonyOS NEXT)支持,Android 功能不变。
鸿蒙侧能力(utssdk/app-harmony,API 12):
- 长时任务保活:
startKeepAlive申请系统长时任务(正规保活方式,后台模式可经harmonyBackgroundMode指定,默认音频播放) - 稳定定时器:长时任务保活进程 +
setInterval,息屏可持续执行 - 定时提醒:提醒代理一次性倒计时提醒(触发为系统通知)
- 通知管理:标题/内容/通知 id 发布、更新与取消
- 平台不支持的能力(无声音乐/WakeLock/息屏回调等)返回明确失败说明
注意:鸿蒙侧使用需在宿主工程 manifest.json 声明 ohos.permission.KEEP_BACKGROUND_RUNNING 与 ohos.permission.PUBLISH_AGENT_REMINDER,详见插件 README。
2.0.0(2026-11-02) 下载此版本
Android 保活 UTS 插件首发,兼容 uni-app / uni-app x(UTS 插件,Android 5.0+)。
- 后台无声音乐保活:内置静音循环音频(可替换),防止息屏后 CPU 休眠
- 息屏精准定时器 ×2:稳定定时器(秒级,Handler+WakeLock 联动)与闹钟定时(>60s 周期,AlarmManager 单发续排,进程死亡后仍会拉活服务)
- 事件回调:前后台切换、息屏/亮屏、通知点击
- 通知栏全套管理:标题/内容/图标/通知 id/渠道/重要性/锁屏可见性/振动/分组/组摘要/附加数据/更新与取消
- 细粒度 WakeLock / WiFi Lock:支持超时获取与标签定制,休眠时保持 WiFi 连接
- 杂项能力:崩溃自恢复(链式原崩溃处理器)、最近任务隐藏、存活时长查询、包名拉起应用等
- 国内厂商适配:小米/华为/OPPO/vivo/一加/魅族等自启动设置引导、电池优化豁免申请、通知权限管理
平台兼容性
up-android-live - Android 保活插件
一个功能完善的 Android 应用保活插件,专为 uni-app 开发,支持国内主流厂商(小米、华为、OPPO、vivo、一加、魅族等)的保活策略。
功能特性
核心保活机制
- ✅ 前台服务(Foreground Service):通过前台服务保持应用活跃
- ✅ WorkManager 定期任务:使用 Android Jetpack WorkManager 实现可靠的后台任务调度
- ✅ JobScheduler 任务:兼容 Android 5.0+ 的任务调度
- ✅ 双进程守护:主服务和守护服务运行在不同进程,相互监控
- ✅ 开机自启动:支持设备重启后自动启动服务
- ✅ 粘性服务(Sticky Service):服务被杀后自动重启
- ✅ 唤醒锁(WakeLock):防止 CPU 休眠导致服务停止
国内厂商适配
- ✅ 小米(MIUI):自启动管理、电池优化
- ✅ 华为/荣耀(EMUI/HarmonyOS):自启动管理、后台保护
- ✅ OPPO(ColorOS):自启动管理、后台冻结
- ✅ vivo(OriginOS/FuntouchOS):后台高耗电、自启动
- ✅ 一加(OxygenOS):链式启动管理
- ✅ 魅族(Flyme):待机耗电管理
- ✅ 三星(OneUI):电池优化
- ✅ 华硕(ZenUI):自启动管理
- ✅ 乐视(EUI):自启动管理
权限管理
- ✅ 电池优化豁免检测与申请
- ✅ 通知权限检测与申请(Android 13+)
- ✅ 自启动权限引导(厂商特定)
- ✅ 一键跳转到相关设置页面
安装
方式一:直接复制
将 uni_modules/up-android-live 目录复制到你的 uni-app 项目根目录下的 uni_modules 文件夹中。
方式二:通过 HBuilderX
- 将插件文件夹放入项目的
uni_modules目录 - 在 HBuilderX 中右键项目,选择"重新编译"
使用方法
1. 导入插件
import * as keepAlive from '@/uni_modules/up-android-live'
2. 启动保活服务
// 基础用法
const result = keepAlive.startKeepAlive(null)
console.log(result.message)
// 自定义配置
const result = keepAlive.startKeepAlive({
title: '应用正在运行',
content: '保持应用活跃状态',
channelId: 'my_channel',
channelName: '我的服务',
heartbeatInterval: 900000 // 15分钟心跳间隔(毫秒)
})
if (result.success) {
console.log('保活服务启动成功')
} else {
console.error('启动失败:', result.message)
}
3. 停止保活服务
const result = keepAlive.stopKeepAlive()
console.log(result.message)
4. 检查服务状态
const isRunning = keepAlive.isKeepAliveRunning()
console.log('服务运行状态:', isRunning)
5. 权限管理
检查所有权限
const permissions = keepAlive.checkPermissions()
console.log('通知权限:', permissions.hasNotificationPermission)
console.log('电池优化豁免:', permissions.isIgnoringBatteryOptimizations)
console.log('自启动权限:', permissions.mayHaveAutoStartPermission)
请求电池优化豁免
const result = keepAlive.requestIgnoreBatteryOptimizations()
console.log(result.message)
请求通知权限(Android 13+)
const result = keepAlive.requestNotificationPermission()
console.log(result.message)
跳转到自启动设置
const result = keepAlive.goToAutoStartSetting()
console.log(result.message)
跳转到通知设置
const result = keepAlive.goToNotificationSetting()
console.log(result.message)
6. 获取厂商信息
const info = keepAlive.getManufacturerInfo()
console.log('厂商:', info.manufacturer)
console.log('是否国内厂商:', info.isDomestic)
console.log('支持自启动设置:', info.supportAutoStart)
console.log('设置包名:', info.settingPackage)
完整示例
推荐的初始化流程
<template>
<view class="container">
<button @click="initKeepAlive">初始化保活</button>
<button @click="checkStatus">检查状态</button>
<button @click="stopService">停止服务</button>
</view>
</template>
<script setup lang="ts">
import * as keepAlive from '@/uni_modules/up-android-live'
// 初始化保活服务
const initKeepAlive = () => {
// 1. 检查厂商信息
const manufacturerInfo = keepAlive.getManufacturerInfo()
console.log('当前设备厂商:', manufacturerInfo.manufacturer)
// 2. 检查权限
const permissions = keepAlive.checkPermissions()
// 3. 请求必要权限
if (!permissions.hasNotificationPermission) {
keepAlive.requestNotificationPermission()
}
if (!permissions.isIgnoringBatteryOptimizations) {
keepAlive.requestIgnoreBatteryOptimizations()
}
// 4. 如果是国内厂商,引导用户设置自启动
if (manufacturerInfo.isDomestic && manufacturerInfo.supportAutoStart) {
uni.showModal({
title: '需要自启动权限',
content: '为了保持应用正常运行,请在设置中允许应用自启动',
confirmText: '去设置',
success: (res) => {
if (res.confirm) {
keepAlive.goToAutoStartSetting()
}
}
})
}
// 5. 启动保活服务
const result = keepAlive.startKeepAlive({
title: '应用正在运行',
content: '保持应用活跃状态',
heartbeatInterval: 900000 // 15分钟
})
if (result.success) {
uni.showToast({
title: '保活服务已启动',
icon: 'success'
})
} else {
uni.showToast({
title: result.message,
icon: 'none'
})
}
}
// 检查服务状态
const checkStatus = () => {
const isRunning = keepAlive.isKeepAliveRunning()
const permissions = keepAlive.checkPermissions()
console.log('服务运行状态:', isRunning)
console.log('权限状态:', permissions)
uni.showModal({
title: '服务状态',
content: `运行中: ${isRunning}\n通知权限: ${permissions.hasNotificationPermission}\n电池优化豁免: ${permissions.isIgnoringBatteryOptimizations}`,
showCancel: false
})
}
// 停止服务
const stopService = () => {
const result = keepAlive.stopKeepAlive()
uni.showToast({
title: result.message,
icon: result.success ? 'success' : 'none'
})
}
</script>
在 App.vue 中自动启动
<script setup lang="ts">
import { onLaunch } from '@dcloudio/uni-app'
import * as keepAlive from '@/uni_modules/uts-keepalive'
onLaunch(() => {
// 应用启动时自动启动保活服务
setTimeout(() => {
const result = keepAlive.startKeepAlive({
title: '应用正在运行',
content: '保持应用活跃状态'
})
console.log('保活服务启动:', result.message)
}, 1000)
})
</script>
API 文档
startKeepAlive(options)
启动保活服务。
参数:
options(KeepAliveOptions | null): 配置选项title(string): 通知标题,默认 "应用正在运行"content(string): 通知内容,默认 "保持应用活跃状态"channelId(string): 通知渠道ID,默认 "keepalive_channel"channelName(string): 通知渠道名称,默认 "保活服务"heartbeatInterval(number): 心跳间隔(毫秒),默认 900000(15分钟)
返回值: KeepAliveResult
{
success: boolean, // 是否成功
message: string, // 消息
code?: number // 错误码(失败时)
}
stopKeepAlive()
停止保活服务。
返回值: KeepAliveResult
isKeepAliveRunning()
检查保活服务是否正在运行。
返回值: boolean
requestIgnoreBatteryOptimizations()
请求忽略电池优化(会打开系统设置页面)。
返回值: KeepAliveResult
isIgnoringBatteryOptimizations()
检查是否已忽略电池优化。
返回值: boolean
goToAutoStartSetting()
跳转到自启动设置页面(针对国内厂商)。
返回值: KeepAliveResult
goToNotificationSetting()
跳转到通知设置页面。
返回值: KeepAliveResult
getManufacturerInfo()
获取设备厂商信息。
返回值: ManufacturerInfo
{
manufacturer: string, // 厂商名称
isDomestic: boolean, // 是否国内厂商
supportAutoStart: boolean, // 是否支持自启动设置
settingPackage?: string // 设置应用包名
}
checkPermissions()
检查所有必要权限。
返回值: PermissionCheckResult
{
hasNotificationPermission: boolean, // 通知权限
isIgnoringBatteryOptimizations: boolean, // 电池优化豁免
mayHaveAutoStartPermission: boolean // 自启动权限(无法准确检测)
}
requestNotificationPermission()
请求通知权限(Android 13+ 需要运行时权限)。
返回值: KeepAliveResult
v2.0.0 新增功能 API
命名均为本项目自创;模块函数式风格,与 v1.0.0 接口完全兼容。
重要契约(先读)
- 通知渠道不可变:
channelId / channelName / 重要性 / 锁屏可见性 / 振动 / 声音属渠道级配置,渠道在首次startKeepAlive或applyNotification时创建,创建后修改无效(Android 8.0+ 系统限制)。请在首次启动前设置。 - 单槽替换:
startSystemTimer/startAlarmTimer重复调用为替换旧任务;三个事件回调重复注册同样替换。 - 回调送达前提:定时器2 触发时若进程已死亡,插件会按最后配置拉活服务恢复保活,但 JS 回调仅在进程存活期间送达。
- 数值映射:重要性
1/2/3= 低/默认/高;锁屏可见性-1000/-1/0/1= 不指定/保密/私有/公开;唤醒锁类型当前仅支持1(PARTIAL_WAKE_LOCK)。 - 精确闹钟:Android 12+ 可被用户撤销、14+ 默认关闭。未授权时
startAlarmTimer自动降级为窗口闹钟(精度下降)并在结果 message 中提示。 - 音乐配定时器:定时器1 运行期间自动持有 WakeLock;配合无声音乐使用息屏精度最佳,音乐关闭时息屏可能出现漂移。
- 闹钟系统限制:未授权精确闹钟时降级为窗口闹钟,不承诺进程死亡后的拉活(后台启动限制);应用被系统"强制停止"后任何闹钟均不再投递,需用户重新打开应用。
- 崩溃自恢复(
setCrashRestartEnabled):依赖延迟闹钟拉起界面;Android 10+ 原生系统限制后台启动 Activity,原生定制 ROM(国产)多可生效,AOSP 类系统可能静默失败。
后台无声音乐
live.setMusicEnabled(true) // 开启(服务存活期间无缝循环,默认音量 0 无声)
live.setMusicVolume(0) // 音量 0~1
live.setMusicResource('keepalive_silence') // 插件 res/raw 资源名,可放自己的音频
息屏精准定时器
// 定时器1:秒级周期,配合音乐息屏精准
live.startSystemTimer(60, (seconds : number) => {
console.log('60s 到点', seconds)
})
live.cancelSystemTimer()
// 定时器2:AlarmManager,适合 >60s 周期
live.startAlarmTimer(0, 65 * 1000, () => {
console.log('65s 到点')
})
live.cancelAlarmTimer()
live.clearAllTimers() // 停止全部定时器并释放关联唤醒锁
// 精确闹钟权限(Android 12+)
live.isExactAlarmAllowed() // 是否已授权
live.requestExactAlarmPermission() // 跳转系统授权页
事件回调
live.onBackgroundStateChanged((inBackground : boolean) => {
console.log(inBackground ? '进入后台' : '回到前台')
})
live.onScreenStateChanged((screenOn : boolean) => {
console.log(screenOn ? '亮屏' : '息屏')
})
live.setNotificationExtraData('my-data')
live.onNotificationClick((data : string) => {
console.log('通知点击,附加数据:', data)
})
通知栏管理(配置 + applyNotification 提交)
live.setNotificationTitle('后台运行中')
live.setNotificationContent('点击查看详情')
live.setNotificationSmallIcon('icon') // res/drawable 资源名
live.setNotificationId(1001) // 同 id 更新,异 id 新发
live.setNotificationChannelId('my_channel') // 渠道级
live.setNotificationChannelImportance(1) // 渠道级:1/2/3
live.setNotificationLockscreenVisibility(1) // 渠道级:-1000/-1/0/1
live.setNotificationGroup('work') // 分组
live.setNotificationGroupSummary(true) // 组摘要
live.setNotificationExtraData('{"page":"chat"}')
live.setNotificationAutoCancel(false)
live.applyNotification() // 按当前配置构建/更新
live.cancelNotification(1002)
live.cancelNotificationGroup('work')
WakeLock / WiFi Lock
live.setWakeLockType(1, 'my-tag')
live.acquireWakeLock(60 * 1000) // 超时自动释放;-1 无限期
live.releaseWakeLock()
live.acquireWifiLock() // 休眠时保持 WiFi
live.releaseWifiLock()
杂项
live.getKeepAliveTime() // 服务本次存活毫秒数
live.moveToBackground() // 等效按 Home
live.setRecentTaskHidden(true) // 从最近任务隐藏
live.goAppDetailSettings() // 系统应用详情页(引导自启动)
live.setCrashRestartEnabled(true) // 崩溃后恢复界面(链式原崩溃处理器)
live.openAppByPackageName('com.xxx')
live.restartService() // 按当前配置重启
鸿蒙Next(HarmonyOS NEXT)支持
v2.1.0 起支持鸿蒙(utssdk/app-harmony,API 12)。鸿蒙与 Android 保活机制完全不同——长时任务(backgroundTaskManager.startContinuousTask)是系统正规保活方式,无需无声音乐 hack。
宿主配置(必需)
uni-app x 工程 manifest.json 源码视图,鸿蒙 distribute 配置中声明权限:
"app-harmony": {
"distribute": {
"module": {
"requestPermissions": [
{ "name": "ohos.permission.KEEP_BACKGROUND_RUNNING" },
{ "name": "ohos.permission.PUBLISH_AGENT_REMINDER" }
]
}
}
}
能力差异(与 Android 对比)
| 能力 | Android | 鸿蒙Next |
|---|---|---|
| 保活 | 前台服务+无声音乐 | 长时任务(startKeepAlive 即申请,后台模式可用 harmonyBackgroundMode 指定) |
| 稳定定时器1 | Handler+WakeLock | 长时任务保活进程 + setInterval(息屏精度以真机为准) |
| 定时器2 | AlarmManager 精确闹钟(有回调) | 提醒代理一次性倒计时提醒,触发为系统通知,无 JS 回调 |
| 通知管理 | 全套(渠道/分组/图标…) | 仅标题/内容/通知 id 生效,其余配置缓存忽略 |
| 前后台/息屏/通知点击回调 | ✅ | 注册成功但暂不触发(建议业务层用 uni.onAppShow/onAppHide) |
| 无声音乐 / WakeLock / WiFi Lock / 崩溃自恢复 / 厂商引导 | ✅ | 不支持,调用返回明确失败说明 |
后台模式(harmonyBackgroundMode,默认 1):1=音频播放 2=录音 3=定位 4=蓝牙 5=多设备 6=事务保持 7=VoIP。系统按模式校验应用行为:声明音频播放建议真的在播声音(业务侧自行决定),无对应活动的任务可能被系统回收。
使用示例(鸿蒙同 API)
import * as live from '@/uni_modules/up-android-live'
live.startKeepAlive({
title: '应用正在运行',
content: '数据同步中',
harmonyBackgroundMode: 1 // 可选,默认音频播放模式
})
live.startSystemTimer(60, (s : number) => {
// 长时任务存活期间持续执行
})
保活原理
多重保活策略
- 前台服务:通过前台服务显示持久通知,提高进程优先级
- WorkManager:使用 Android Jetpack WorkManager 实现可靠的后台任务
- JobScheduler:兼容 Android 5.0+ 的系统级任务调度
- 双进程守护:主服务和守护服务运行在不同进程,相互监控
- 粘性服务:服务返回 START_STICKY,被杀后系统会尝试重启
- 开机自启:监听开机广播,设备重启后自动启动
- 唤醒锁:防止 CPU 休眠导致服务停止
国内厂商适配
国内厂商通常有严格的后台管理策略,需要用户手动授予权限:
- 自启动权限:允许应用在后台自动启动
- 后台运行权限:允许应用在后台持续运行
- 电池优化豁免:不受省电模式限制
插件提供了一键跳转到各厂商设置页面的功能,简化用户操作。
注意事项
1. 权限配置
插件已在 AndroidManifest.xml 中声明所有必要权限,无需手动配置。
2. 用户引导
保活效果很大程度上依赖用户授予的权限,建议:
- 在首次启动时引导用户授予所有必要权限
- 使用友好的文案说明为什么需要这些权限
- 提供一键跳转到设置页面的功能
3. 系统限制
- Android 8.0+ 对后台服务有严格限制,必须使用前台服务
- Android 9.0+ 进一步限制后台活动
- Android 12+ 对前台服务有更严格的限制
- 国内厂商的系统优化可能会杀死后台进程
4. 电池消耗
保活服务会增加电池消耗,建议:
- 合理设置心跳间隔(建议 15 分钟以上)
- 避免在服务中执行耗时操作
- 根据实际需求决定是否启用保活
5. 测试建议
在以下场景测试保活效果:
- 应用切换到后台
- 清理后台应用
- 设备重启
- 低电量模式
- 不同厂商设备
兼容性
- 最低 Android 版本:Android 5.0 (API 21)
- 目标 Android 版本:Android 14 (API 34)
- 鸿蒙:HarmonyOS NEXT 及以上(API 12)
- uni-app 版本:3.6.0+
- HBuilderX 版本:3.6.0+
常见问题
Q: 为什么服务还是被杀死了?
A: 国内厂商的系统优化非常激进,即使使用了保活策略,也可能被杀死。建议:
- 确保用户已授予所有必要权限(自启动、电池优化豁免、通知权限)
- 引导用户将应用加入白名单
- 在应用设置中关闭"自动清理"
Q: 如何隐藏前台服务通知?
A: Android 8.0+ 强制要求前台服务必须显示通知,无法隐藏。但可以:
- 设置通知优先级为 LOW,减少干扰
- 自定义通知内容,让用户理解为什么需要显示通知
Q: 心跳间隔设置多少合适?
A: 建议 15 分钟(900000 毫秒)以上。间隔太短会:
- 增加电池消耗
- 可能被系统判定为滥用后台
- 影响用户体验
Q: 支持 iOS 吗?
A: 目前仅支持 Android。iOS 有严格的后台限制,不支持类似的保活机制。
Q: 如何判断保活是否生效?
A: 可以通过以下方式测试:
- 调用
isKeepAliveRunning()检查服务状态 - 查看通知栏是否显示前台服务通知
- 在系统设置中查看正在运行的服务
- 使用 adb 命令查看进程:
adb shell ps | grep 包名
目录结构
uni_modules/up-android-live/
├── package.json # 插件配置文件
├── README.md # 使用文档
└── utssdk/
├── interface.uts # 接口定义(共 53 个导出)
├── app-android/ # Android 实现
│ ├── index.uts # Android 主入口(模块函数式 API)
│ ├── config.json # Android 配置
│ ├── AndroidManifest.xml # Android 清单文件
│ ├── KeepAliveConfig.kt # 配置与状态单例(UTS/原生共享)
│ ├── KeepAliveStore.kt # 配置持久化(闹钟跨进程恢复)
│ ├── KeepAliveService.kt # 前台保活服务(通知/音乐/定时器1/事件)
│ ├── AlarmScheduler.kt # 定时器2 调度器(AlarmManager)
│ ├── AlarmReceiver.kt # 定时器2 闹钟接收器(单发+续排)
│ ├── CrashRestartHelper.kt # 崩溃自恢复(链式包装原崩溃处理器)
│ ├── CrashRestartReceiver.kt # 崩溃恢复接收器(拉起主界面)
│ ├── NotificationClickActivity.kt # 通知点击中转页
│ ├── LiveEventHub.kt # 回调桥(UTS/原生共享)
│ ├── BootReceiver.kt # 开机广播接收器
│ ├── GuardService.kt # 守护服务
│ ├── KeepAliveWorker.kt # WorkManager 任务
│ ├── KeepAliveJobService.kt # JobScheduler 任务
│ ├── WorkerHelper.kt # WorkManager 辅助类
│ ├── JobHelper.kt # JobScheduler 辅助类
│ └── res/
│ ├── raw/
│ │ └── keepalive_silence.wav # 内置静音循环音频
│ └── values/
│ └── strings.xml # 字符串资源
└── app-harmony/ # 鸿蒙Next 实现(API 12)
├── index.uts # 53 个同名导出:长时任务保活/定时器/提醒代理/通知管理
└── config.json
更新日志
v2.1.0 (2026-11-02)
- ✅ 鸿蒙Next支持(
utssdk/app-harmony,API 12):长时任务保活、稳定定时器(保活进程+setInterval)、提醒代理定时通知、通知基础管理 - ✅ 平台不支持的能力(无声音乐/WakeLock/息屏回调等)返回明确失败说明;
KeepAliveOptions新增可选harmonyBackgroundMode - ✅ README 新增鸿蒙章节(能力差异表 + 宿主权限配置片段)
v2.0.0 (2026-11-02)
- ✅ 后台无声音乐保活:
setMusicEnabled/setMusicVolume/setMusicResource,内置静音循环音频,防止息屏后 CPU 休眠 - ✅ 息屏精准定时器1:
startSystemTimer/cancelSystemTimer,服务内 Handler + WakeLock 联动,配合音乐息屏精准执行 - ✅ 息屏精准定时器2:
startAlarmTimer/cancelAlarmTimer/clearAllTimers,AlarmManager 单发+续排,适合 >60s 周期;进程死亡后仍会拉活服务(回调仅在进程存活期间送达) - ✅ 精确闹钟权限配套:
isExactAlarmAllowed/requestExactAlarmPermission,权限缺失自动降级窗口闹钟并提示 - ✅ 事件回调:
onBackgroundStateChanged(前后台)/onScreenStateChanged(息屏亮屏)/onNotificationClick(通知点击,重复注册为替换) - ✅ 通知栏全套管理:15 个配置接口 +
applyNotification显式提交 +cancelNotification/cancelNotificationGroup,支持 id/渠道/重要性/锁屏可见性/振动/声音/分组/组摘要/附加数据/autoCancel - ✅ 细粒度 WakeLock:
setWakeLockType/acquireWakeLock(支持超时)/releaseWakeLock;WiFi 锁:acquireWifiLock/releaseWifiLock - ✅ 杂项:
getKeepAliveTime/moveToBackground/setRecentTaskHidden/goAppDetailSettings/setCrashRestartEnabled(链式崩溃处理,不吞宿主上报)/openAppByPackageName/restartService - ✅ 修复:
stopKeepAlive停止后不再被服务onDestroy无条件自拉重启(受控重启状态机) - ✅
checkPermissions新增exactAlarmAllowed字段
v1.0.0 (2026-05-31)
- ✅ 初始版本发布
- ✅ 支持前台服务保活
- ✅ 支持 WorkManager 和 JobScheduler
- ✅ 支持双进程守护
- ✅ 支持开机自启动
- ✅ 适配国内主流厂商
- ✅ 完整的权限管理功能
许可证
MIT License
技术支持
如有问题或建议,欢迎提交 Issue。
致谢
感谢 uni-app 团队提供的 UTS 插件开发能力。

收藏人数:
下载插件并导入HBuilderX
下载示例项目ZIP
赞赏(0)
下载 162954
赞赏 508
下载 12735827
赞赏 1959
赞赏
京公网安备:11010802035340号