uniapp 安卓保活插件 Ba-KeepAlive
Posted 三杯五岳
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uniapp 安卓保活插件 Ba-KeepAlive相关的知识,希望对你有一定的参考价值。
安卓保活 Ba-KeepAlive
简介(下载地址)
Ba-KeepAlive 是一款android原生保活插件,支持市面上大部分机型,Android4.4到Android13.0 ( 注意: 不保证支持所有机型和场景,建议先试用)。
- 采用多种主流保活技术
- 支持打开白名单项(应用自启动、耗电管理、锁屏清理、神隐模式、应用保护、后台管理、锁屏加速受保护、Doze 模式等等,非全部)
支持打开的白名单处理
- Android Doze 模式
- 华为 自启管理
- 华为 锁屏清理
- 小米 自启动管理
- 小米 神隐模式
- 三星 5.0/5.1 自启动应用程序管理
- 三星 6.0+ 未监视的应用程序管理
- 魅族 自启动管理
- 魅族 待机耗电管理
- Oppo 自启动管理
- Vivo 后台高耗电
- 金立 应用自启
- 金立 绿色后台
- 乐视 自启动管理
- 乐视 应用保护
- 酷派 自启动管理
- 联想 后台管理
- 联想 后台耗电优化
- 中兴 自启管理
- 中兴 锁屏加速受保护应用
截图展示
使用方法
在 script
中引入组件
const keepAlive = uni.requireNativePlugin('Ba-KeepAlive')
在 script
中调用
data()
return
channelId: 'Ba-KeepAlive',
channelName: "Ba-KeepAlive",
title: "Ba-KeepAlive",
content: "Ba-KeepAlive is running",
dataResult: "",
type: undefined
,
methods:
register() //注册
keepAlive.register(
channelId: this.channelId,
channelName: this.channelName,
title: this.title,
content: this.content,
,
(res) =>
console.log(res);
uni.showToast(
title: res.msg,
icon: "none",
duration: 3000
)
);
,
isRunning() //是否正在运行
keepAlive.isRunning((res) =>
console.log(res);
uni.showToast(
title: res.msg,
icon: "none",
duration: 3000
)
);
,
restart() //重启
keepAlive.restart((res) =>
console.log(res);
uni.showToast(
title: res.msg,
icon: "none",
duration: 3000
)
);
,
unregister() //注销
keepAlive.unregister((res) =>
console.log(res);
uni.showToast(
title: res.msg,
icon: "none",
duration: 3000
)
);
,
whiteList() //获取并打开白名单
keepAlive.whiteList(
isDialog: true,
reason: "轨迹服务",
whiteType: 0,
, (res) =>
console.log(res);
uni.showToast(
title: res.msg,
icon: "none",
duration: 3000
)
);
,
openWhiteList() //打开白名单
try
var list = JSON.parse(this.dataResult);
keepAlive.openWhiteList(
isDialog: true,
reason: "轨迹服务",
type: list[0].type,
, (res) =>
console.log(res);
uni.showToast(
title: res.msg,
icon: "none",
duration: 3000
)
);
catch (e)
uni.showToast(
title: "请先获取有效的白名单项",
icon: "none",
duration: 3000
)
,
getWhiteList() //获取白名单项
keepAlive.getWhiteList(
whiteType: 0,
, (res) =>
console.log(res);
this.dataResult = res.data ? JSON.stringify(res.data) : "";
uni.showToast(
title: res.msg,
icon: "none",
duration: 3000
)
);
,
UI 图标设置
- 通知小图标:默认通知图标是Android的图标,如果需要使用自己的,在项目的 “nativeplugins\\Ba-KeepAlive\\android\\res\\mipmap-xxhdpi” 目录下(没有就新建),添加 “ba_keepalive_icon.png” 图片文件即可。注意:更改后需要重新制作基座才能生效,建议提前配置。
- 通知大图标:同小图标,文件名是 “ba_keepalive_large_icon.png”
方法清单
名称 | 说明 |
---|---|
register | 注册保活服务,建议在Application里初始化 |
isRunning | 查看保活服务是否运行 |
restart | 重启保活服务,与register区别在于不会重新配置,而是使用上一次配置的信息 |
unregister | 注销保活服务,并不会立马停止,而是在1s之后停止,非必须调用,比如可以在app完全退出的时候可以调用,根据你的需求调用 |
whiteList | 获取并打开白名单设置项 |
openWhiteList | 打开指定白名单设置项 |
getWhiteList | 获取当前设备支持的白名单设置项 |
register 方法参数
注册保活服务
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
channelId | String | 建议 | ‘Ba-KeepAlive’ | 渠道Id,建议用户修改,非必传 |
channelName | String | 建议 | ‘Ba-KeepAlive’ | 渠道名,用于设置里通知渠道展示,建议用户修改,非必传 |
title | String | 建议 | ‘Ba-KeepAlive’ | 通知栏标题,建议用户修改,非必传 |
content | String | 建议 | ‘Ba-KeepAlive is running’ | 通知栏内容,建议用户修改,非必传 |
showLargeIcon | Boolean | false | false | 是否展示通知栏大图标 |
largeIcon | String | false | ‘’ | 通知栏大图标绝对路径,不填获取项目文件,见"UI 图标设置" |
serviceId | Number | false | 随机数 | 服务Id,默认是1到Int.MAX_VALUE随机数,非必传 |
workManager | Boolean | false | 是否可以使用WorkManager,默认可以使用,非必传 | |
crashRestartUI | Boolean | false | 奔溃是否可以重启用户界面,默认为false,google原生rom android 10 以下可以正常重启,非必传 | |
hideNotification | Boolean | false | 是否隐藏通知栏,经测试,除了android 7.1手机之外都可以隐藏,默认隐藏,非必传 | |
hideNotificationAfterO | Boolean | false | 是否隐藏Android 8.0以上通知栏,默认隐藏 | |
musicEnabled | Boolean | false | true | 是否可以播放音乐,默认可以播放音乐,非必传 |
backgroundMusicEnabled | Boolean | false | false | 后台是否可以播放音乐,默认不可以后台播放音乐,非必传 |
musicInterval | Number | false | 0 | 设置音乐间隔时间,时间间隔越长,越省电,默认间隔时间是0,非必传 |
onePixEnabled | Boolean | false | true | 是否可以使用一像素,默认可以使用,只有在android p以下可以使用,非必传 |
whiteList 方法参数
获取并打开白名单设置项
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
isDialog | Boolean | false | true | 是否展示默认弹窗提示 |
reason | String | false | ‘核心服务的持续运行’ | 默认弹窗原因内容 |
whiteType | Number | false | 0 | 白名单类型过滤,0:所有 1:自启动 2:耗电管理 3:锁屏清理 4:神隐模式 5:应用保护 6:后台管理 7:锁屏加速受保护 99:Doze 模式 |
openWhiteList 方法参数
打开指定白名单设置项
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
type | Number | true | 指定的白名单类型,从getWhiteList方法获取 | |
isDialog | Boolean | false | true | 是否展示默认弹窗提示 |
reason | String | false | ‘核心服务的持续运行’ | 默认弹窗原因内容 |
getWhiteList 方法参数
获取当前设备支持的白名单设置项
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
whiteType | Number | false | 0 | 白名单类型过滤,0:所有 1:自启动 2:耗电管理 3:锁屏清理 4:神隐模式 5:应用保护 6:后台管理 7:锁屏加速受保护 99:Doze 模式 |
系列插件
应用未读角标插件 Ba-Shortcut-Badge (文档)
动态修改状态栏、导航栏背景色、字体颜色插件 Ba-AppBar(文档)
以上是关于uniapp 安卓保活插件 Ba-KeepAlive的主要内容,如果未能解决你的问题,请参考以下文章
uniapp 实时定位(系统后台运行支持息屏)插件 Ba-Location
uniapp 实时定位(系统后台运行支持息屏)插件 Ba-Location