更新记录
0.1.0(2026-11-05) 下载此版本
0.1.0
- 能力探测 / 组合保活策略 / 心跳自检自愈 / 自检快照 / 厂商引导。
平台兼容性
pk-keepalive — 后台保活套件
纯 JS 合规保活:静默音频通道 + 息屏保持 CPU + 常驻通知 + 心跳自检自愈 + 厂商设置一键引导。 零原生插件、免自定义基座、不绑定包名、无新增危险权限。
为什么不是"永杀不死"
保活类竞品差评的根源是过度承诺:「一会儿能保活几小时,一会儿几分钟就没了」「折叠屏无效」却没人告诉你为什么。 pk-keepalive 的差异化定位:把保活从玄学变成数据——
- 系统允许的合规保活手段全部正确打开(组合策略,单通道失效不影响整体)
- 心跳自检:周期探测各通道健康度,失效先自愈(重建通知/重持锁/重启音频),自愈失败记录健康度快照
- 厂商引导:检测品牌(小米/华为/OPPO/vivo/三星…),一键跳转自启动/电池优化设置页,并输出完成度清单
5 分钟接入
// 1. App.vue onLaunch
import pkKeepalive from '@/uni_modules/pk-keepalive/js_sdk/index.js';
pkKeepalive.init();
// 2. 需要保活的时机(如页面 onLoad / 业务需要后台运行前)
pkKeepalive.start({
notificationTitle: '正在后台运行',
notificationText: '为保证功能正常,请勿关闭本通知',
heartbeatIntervalMs: 30000 // 自检间隔,最小 5000
});
// 3. 任意时刻查看保活健康度
const st = pkKeepalive.getStatus();
// st.health: alive / degraded / dead / planned
// 4. 厂商设置引导(跳转自启动/电池优化页)
const checklist = pkKeepalive.getVendorChecklist(); // 当前品牌的设置步骤清单
pkKeepalive.openVendorPage('appdetail'); // 自启动/应用详情页
pkKeepalive.openVendorPage('ignore_battery'); // 电池优化白名单
API
| 方法 | 说明 |
|---|---|
init(opts?) |
初始化配置 |
start(opts?) |
启动保活。opts: audio/wakelock/notification(布尔,默认 true)、heartbeatIntervalMs、notificationTitle/Text |
stop() |
停止保活,释放 wakeLock |
getStatus() |
健康度快照:{health, channels[], warnings[], heartbeat} |
getVendorChecklist() |
当前品牌的厂商设置步骤清单 |
openVendorPage(action) |
跳转厂商设置页(appdetail / ignore_battery),仅 Android |
getCapabilities() |
真实能力探测(不支持的端如实返回 supported:false,绝不假 true) |
错误码
| 码 | 含义 |
|---|---|
| E-KA-10 | 能力不可用(当前端不支持) |
| E-KA-11 | 通道开启失败 |
| E-KA-20 | 保活通道失效且自愈失败 |
| E-KA-21 | 保活通道自愈成功(metric) |
| E-KA-30 | 保活自检快照(metric) |
| E-USER-00 | 用户主动反馈 |
注意事项
- 常驻通知是保活的"身份证":划掉通知可能导致后台优先级下降,SDK 会自动重建
- 静默音频默认合规(无声段循环),设置
audioSilence:false播放可听见声音有商店拒审风险 - iOS 后台能力受系统硬限制:仅音频类/定位类 App 可长期后台,SDK 会如实降级
- 厂商 ROM 差异见 docs/compatibility.md(如实标注,不夸大)
- 完整可运行示例见 example/(导入 HBuilderX 即可运行)

收藏人数:
下载插件并导入HBuilderX
下载插件ZIP
赞赏(0)
下载 3
赞赏 0
下载 12745538
赞赏 1959
赞赏
京公网安备:11010802035340号