Uniapp-APP后台保活插件(安卓后台保活)
•
移动开发
目录
1.插件导入项目
2.项目中使用保活插件
3.打包自定义调试基座
4.代码配置
5.项目运行
6.测试效果
相关插件:安卓保活
1.插件导入项目
注:可以先试用哦,大佬直接购买也可以哦!我是先试用的哦。
试用–>勾选项目(仔细核对)–>勾选隐私–>确定–>关闭成功提示弹窗



2.项目中使用保活插件
注:manifest.json –> APP原生插件配置 –> 云端插件【使用云端插件】–> 勾选上边添加到项目的插件 –> 显示安卓保活插件即可

3.打包自定义调试基座
注:根据提示下一步,等待打包完成,控制台会有完成提示的

4.代码配置
1.启动设置:
// 放在script标签之下,export default之前
const lqmkeepalive = uni.requireNativePlugin('lqm-keepalive');
var globalEvent = uni.requireNativePlugin('globalEvent');
// 放在你需要保活的业务逻辑之前
// 比如:点击“开始刷新日志”按钮,将下面lqmkeepalive.start的相关代码放在按钮的点击事件代码中。
lqmkeepalive.start({
title: "我正在每5秒刷新一次日志", //小标题
big_title: '我正在刷新日志', //大标题
content: "不要关闭我,否则我就没法刷新了", //详细内容
delaysec : 5000, // 毫秒,如果不想启用定时器,传参数 -1
}, result => {
// 没有返回值,启动成功后,会在通知栏中出现服务。
});
2.关闭设置:
var globalEvent = uni.requireNativePlugin('globalEvent');
const lqmkeepalive = uni.requireNativePlugin('lqm-keepalive');
// 清楚加入的监听事件
globalEvent.removeEventListener('position');
lqmkeepalive.stop({ //无参数,停止之后服务会停止。
}, result => {
// 没有返回值,停止之后服务会停止。
});
3.定时功能回调:
// 注意这个函数不要重复调用,只调用一次,多次启动就会创建多个监听器,造成app闪退
globalEvent.addEventListener('position', function(e) {
// 定时器回调,每隔delaysec毫秒之后,该函数会被调用一次,当delaysec为-1时,该函数不会被调用
// 在这里写你的业务逻辑(建议这里调用接口测试,接口打印数据,测试稳定性)
……
// 业务逻辑结束
});
4.完整代码:
注:我这里用的是switch控制组件的开启和关闭,结合向后台请求的处理的,仅供参考,还是要根据自己项目来修改。
是否允许后台刷新
let device = uni.getSystemInfoSync().platform
export default {
data() {
return {
switchflag: false,
deviceType:device != 'ios'
}
},
onLoad() {},
onShow() {
this.get()
},
methods: {
switchChange(e) {
console.log('switch1 发生 change 事件,携带值为', e.detail.value)
this.set(e.detail.value === true ? 1 : 0)
},
get() {
console.log("deviceType----",this.deviceType)
this.$request.urlRequest(
`/user/status/get`, {},
'get',
(res) => {
if (res.code !== 200) return
console.log("调用成功-----", res)
this.switchflag = res.result.backliveStatus
}
)
},
set(n) {
console.log("n", n)
this.$request.urlRequest(
`/user/status/edit/backlive?status=${n}`, {},
'POST',
(res) => {
if (res.code !== 200) return
console.log("调用成功-----", res)
let globalEvent = uni.requireNativePlugin('globalEvent');
let lqmkeepalive = uni.requireNativePlugin('lqm-keepalive');
if(n == 0){
// 清楚加入的监听事件
globalEvent.removeEventListener('position');
lqmkeepalive.stop({ //无参数,停止之后服务会停止。
}, result => {
// 没有返回值,停止之后服务会停止。
console.log("停止成功-----")
});
}else{
// 放在你需要保活的业务逻辑之前
// 比如:点击“开始刷新日志”按钮,将下面lqmkeepalive.start的相关代码放在按钮的点击事件代码中。
lqmkeepalive.start({
title: "我正在每3秒刷新一次日志", //小标题
big_title: '我正在刷新日志', //大标题
content: "不要关闭我,否则我就没法刷新了", //详细内容
delaysec: 3000, // 毫秒,如果不想启用定时器,传参数 -1
}, result => {
// 没有返回值,启动成功后,会在通知栏中出现服务。
console.log("执行开启成功----------")
});
}
}
)
}
}
}
5.项目运行
注:这里是正常的运行流程,只是运行的时候勾选自定义基座(第三步打包的),不勾选这个的话,保活功能是没有办法使用的,切记!


6.测试效果
注:根据自己项目功能进行测试,我这边运行没有问题,功能也正常。

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/4ab6bd7e88.html
