更新记录

1.0(2022-09-18)

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原生插件配置”->”云端插件“列表中删除该插件重新选择


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

简介

Ba-Shortcut 是一款App Shortcuts(安卓快捷方式)插件。Shortcuts是指在桌面长按app图标而出现的快捷方式, 可以为你的app的关键功能添加更快速的入口而不用先打开app,点击快捷方式可以访问应用功能, 并且这种快捷方式也可以被拖拽到桌面单独放置, 变成单独的桌面快捷方式。 (注意:建议先试用,再购买)。

  • 支持创建多个快捷方式
  • 支持自定义图标
  • 支持设置长文本和短文本(优先显示长文本,空间不够时自动显示短文本)
  • 支持创建、更新、删除
  • 应用添加App Shortcuts是Android 7.1(API 25)的API, 所以只能在Android 7.1的设备上显示, 同时需要launcher支持, 比如Pixel launcher(Pixel设备的默认launcher), Now launcher(Nexus设备上的launcher)现在就支持, 其他launcher也可以提供支持.

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

效果展示

在这里插入图片描述

使用方法

引用

script 中引入组件

    const shortcut = uni.requireNativePlugin('Ba-Shortcut')

示例1(App.vue)

可在App.vue中快速集成,创建在onLauncher和onShow都可,点击事件在onShow中监听

<script>
    const shortcut = uni.requireNativePlugin('Ba-Shortcut')
    export default {
        onLaunch: function() {
            console.log('App Launch')
            //创建快捷方式
            shortcut.create({
                    shortcutId: "MyCamera",//快捷方式id
                    shortLabel: "随手拍",//快捷方式显示短文本
                    longLabel: "随时随地,拍一拍",//快捷方式显示长文本
                    iconName: "ic_camera",//快捷方式图标资源名称,参照‘UI 图标设置’
                },
                (res) => {
                    console.log(res);
                });
        },
        onShow: function() {
            console.log('App Show')
            //快捷方式点击事件监听
            var args = plus.runtime.arguments;
            if (args) {
                let args1 = JSON.parse(args);
                if(args1.shortcutId){
                    //args参数如:{"shortLabel":"随手拍","shortcutId":"MyCamera"}
                    //根据快捷方式的 shortcutId 判断
                    //这里写你的处理逻辑
                }
                console.log(args);    
            }
        },
        onHide: function() {
            console.log('App Hide')
        }
    }
</script>

示例2(页面)

可在页面 script 中调用(示例参考,可根据自己业务和调用方法自行修改)

        data() {
            return {
                shortcutId: "MyCamera",
                shortLabel: "随手拍",
                longLabel: "随时随地,拍一拍",
                iconName: "ic_camera",
            }
        },
        methods: {
            create() { //创建
                shortcut.create({
                        shortcutId: this.shortcutId,
                        shortLabel: this.shortLabel,
                        longLabel: this.longLabel,
                        iconName: this.iconName,
                    },
                    (res) => {
                        console.log(res);
                        uni.showToast({
                            title: res.msg,
                            icon: "none",
                            duration: 3000
                        })
                    });
            },
            update() { //更新
                shortcut.update({
                        shortcutId: this.shortcutId,
                        shortLabel: this.shortLabel,
                        longLabel: this.longLabel,
                    },
                    (res) => {
                        console.log(res);
                        uni.showToast({
                            title: res.msg,
                            icon: "none",
                            duration: 3000
                        })
                    });
            },
            deleteS() { //删除
                shortcut.delete({
                        shortcutId: this.shortcutId,
                    },
                    (res) => {
                        console.log(res);
                        uni.showToast({
                            title: res.msg,
                            icon: "none",
                            duration: 3000
                        })
                    });
            },
        }

UI 图标设置

  • 快捷方式图标:在项目的 “nativeplugins\Ba-Shortcut\android\res\drawable” 目录下(没有就新建),任意添加图片(支持png、jpg、xml矢量图),名字在 create 方法的 “iconName”字段设置即可。如添加自定义图片"ic_camera.png",那么设置 iconName 为 "ic_camera"。注意:更改后需要重新制作基座才能生效,建议提前配置。

在这里插入图片描述

快捷方式点击事件监听

在应用生命周期App.vue的onLaunch事件中设置监听:

        onLaunch: function() {
            this.checkArguments();
            // 重点是以下: 一定要监听后台恢复 !一定要   
            plus.globalEvent.addEventListener('newintent', (e) => {
                this.checkArguments(); // 检测启动参数  
            });
        },
        onShow: function() {
        },
        onHide: function() {
        },
        methods: {
            checkArguments() {
                var args = plus.runtime.arguments;
                if (args) {
                    console.log(args);  
                    let args1 = JSON.parse(args);
                    if(args1.shortcutId){
                        //args参数如:{"shortLabel":"随手拍","shortcutId":"MyCamera"}
                        //根据快捷方式的 shortcutId 判断
                        //这里写你的处理逻辑
                    }
                    // 处理args参数,如直达到某新页面等
                }
            },
        }

方法清单

名称 说明
create 创建快捷方式
update 更新快捷方式,也可以用create重建更新
delete 删除快捷方式

create 方法参数

创建快捷方式

属性名 类型 必填 默认值 说明
shortcutId String true '' 快捷方式id
shortLabel String true '' 快捷方式显示短文本
longLabel String true '' 快捷方式显示长文本
iconName String true '' 快捷方式图标资源名称,参照‘UI 图标设置’

update 方法参数

更新快捷方式

属性名 类型 必填 默认值 说明
shortcutId String true '' 快捷方式id
shortLabel String true '' 快捷方式显示短文本
longLabel String true '' 快捷方式显示长文本

delete 方法参数

删除快捷方式

属性名 类型 必填 默认值 说明
shortcutId String true '' 快捷方式id

系列插件

图片选择插件 Ba-MediaPicker文档

图片编辑插件 Ba-ImageEditor文档

文件选择插件 Ba-FilePicker文档

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

应用未读角标插件 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文档

隐私、权限声明

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

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

插件不采集任何数据

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

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