更新记录

1.1(2022-09-23)

支持通知点击打开app

1.0(2022-09-13)

init


平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 14.0 armeabi-v7a:支持,arm64-v8a:支持,x86:支持 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


安卓保活 Ba-KeepAlive

简介

Ba-KeepAlive 是一款android原生保活插件,支持市面上大部分机型,Android4.4到Android13.0 (注意:不保证支持所有机型和场景,建议先试用测试完整后,再购买)。

可解决定位、推送、websocket、定时任务、蓝牙、聊天等保活问题。

  • 采用多种主流保活技术
  • 支持打开白名单项(应用自启动、耗电管理、锁屏清理、神隐模式、应用保护、后台管理、锁屏加速受保护、Doze 模式等等,非全部)

新增保活套装插件:

安卓保活套装(通用、常驻通知、电池优化、自启管理、后台运行等)文档

有建议和需要,请联系QQ:2579546054

支持打开的白名单处理

  • 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-MediaPicker文档

图片编辑插件 Ba-ImageEditor文档

文件选择插件 Ba-FilePicker文档

应用消息通知插件(多种样式,新增支持常驻通知模式) Ba-Notify文档

自定义通知(耳机电量)插件 Ba-NotifyEarphone文档

应用未读角标插件 Ba-Shortcut-Badge文档

应用开机自启插件 Ba-Autoboot文档

扫码原生插件(毫秒级、支持多码)Ba-Scanner-G文档

扫码原生插件 - 新(可任意自定义界面版本;支持连续扫码;支持设置扫码格式)Ba-Scanner文档

动态修改状态栏、导航栏背景色、字体颜色插件 Ba-AppBar文档

原生sqlite本地数据库管理 Ba-Sqlite文档

安卓保活插件(采用多种主流技术) Ba-KeepAlive文档

安卓保活套装(通用、常驻通知、电池优化、自启管理、后台运行等)文档

安卓快捷方式(桌面长按app图标) Ba-Shortcut文档

自定义图片水印(任意位置) Ba-Watermark文档

最接近微信的图片压缩插件 Ba-ImageCompressor文档

视频压缩、视频剪辑插件 Ba-VideoCompressor文档

动态切换应用图标、名称(如新年、国庆等) Ba-ChangeIcon文档

原生Toast弹窗提示(穿透所有界面、穿透原生;自定义颜色、图标 ) Ba-Toast文档

图片涂鸦、画笔 Ba-ImagePaint文档

pdf阅读(手势缩放、显示页数) Ba-Pdf文档

声音提示、震动提示、语音播报 Ba-Beep文档

websocket原生服务(自动重连、心跳检测) Ba-Websocket文档

短信监听(验证码) Ba-Sms文档

智能安装(自动升级) Ba-SmartUpgrade文档

监听系统广播、自定义广播 Ba-Broadcast文档

监听通知栏消息(支持白名单、黑名单、过滤) Ba-NotifyListener文档

全局置灰、哀悼置灰(可动态、同时支持nvue、vue) Ba-Gray文档

获取设备唯一标识(OAID、AAID、IMEI等) Ba-IdCode文档

实时定位(系统、后台运行、支持息屏)插件 Ba-Location文档

实时定位(高德、后台运行、支持息屏、坐标转换、距离计算) Ba-LocationAMap文档

窗口小工具、桌面小部件、微件 Ba-AppWidget文档

窗口小工具、桌面小部件、微件(日历、时间) Ba-AwCalendarS文档

画中画悬浮窗(视频) Ba-VideoPip文档

悬浮窗(在其他应用上层显示) Ba-FloatWindow文档

悬浮窗(应用内、无需授权) Ba-FloatWindow2文档

悬浮窗(悬浮球、动态菜单、在其他应用上层显示) Ba-FloatBall文档

添加到“用其他应用打开”中,用于文件传递、分享等 Ba-ShareReceive文档

获取地图数据(高德、地理编码、反地理编码) Ba-AMapData文档

来电显示悬浮窗插件(支持锁屏) Ba-CallerID文档

抖音授权登录、发布、分享 Ba-Aweme文档

隐私、权限声明

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

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

插件不采集任何数据

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

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问