首页 > 其他分享 >uniapp调安卓原生功能实现蓝牙通信

uniapp调安卓原生功能实现蓝牙通信

时间:2024-09-12 16:52:24浏览次数:12  
标签:uniapp 插件 基座 蓝牙 调安卓 aar uni

uniapp开发的APP要接入三方厂商SDK功能,通过蓝牙连接控制手持设备。

我采用uniapp调用原生aar包接口的方式。

方式一是调用uni接口

我们看官网是有提供API uniapp.dcloud.net.cn/api/system/…

使用例子很多,如blog.csdn.net/weixin_4710…


markdown

代码解读

复制代码

**初始化蓝牙设备 | | 提醒用户打开蓝牙设备** uni.openBluetoothAdapter **搜索周边设备** uni.startBluetoothDevicesDiscovery **获取搜索到的设备信息** uni.getBluetoothDevices **当用户点击某个设备时将deviceId进行蓝牙连接** uni.createBLEConnection **连接上需要的蓝牙设备之后,获取这个蓝牙设备的服务uuid** uni.getBLEDeviceServices **如果一个蓝牙设备需要进行数据的写入以及数据传输,就必须具有某些特征值,所以通过上面步骤获取的id可以查看当前蓝牙设备的特征值** uni.getBLEDeviceCharacteristics **将从后台服务获取的指令写入到蓝牙设备当中** uni.writeBLECharacteristicValue **创建链接,发送指令启用notify 功能接收设备返回的数据** uni.notifyBLECharacteristicValueChange

方式二调用aar包

在uniapp官网有讲开发原生SDK插件,在uniapp项目中调用插件功能,nativesupport.dcloud.net.cn/NativePlugi…

过程是:

  • 制作Android原生代码插件后导出aar包
  • 将aar包放到uniapp项目根目录nativeplugins中,配置插件相关文件
  • 在页面中调用uni.requireNativePlugin获取插件抛出的api接口
  • 生成基座应用可以用于本地调试和云打包正式版

第一步制作原生插件aar包

我安卓导出aar项目源码:gitee.com/rootegg/202…

在官网中有个模板项目,按照官网指导开发即可

nativesupport.dcloud.net.cn/AppDocs/dow…

开发插件都在 UniPlugin-Hello-AS 项目中,如果是开发界面组件那用uniplugin_component,如果是无界面API用uniplugin_module,可以参考例子uniplugin_richalert

Android Studio 是2024年最新版,安装环境可以看上一篇一次接手远古Android项目终于运行起来了在Gradle中执行assembleRelease导出aar发布版即可

我这个API导出插件关键在两点:

  • 继承 UniModule

  • 函数头增加 UniJSMethod

  • 函数参数 UniJSCallback 接收js页面回调传参

第二步uniapp项目添加插件

uniapp前端源码: gitee.com/rootegg/202…

在uniapp项目中添加nativeplugins,把上面的aar包放到android文件夹下即可不管名字,增加package.json配置文件

项目配置蓝牙模块,点击 manifest.jsonApp模块权限勾选Bluetooth

App原生插件配置找到本地插件选进来,这样后面代码中才能使用这个插件

基础配置中设置应用版本名称和应用版本号,注意每次生成基座应用都需要修改这两个版本号。什么是基座应用呢,因为uniapp写的代码本质上还是js代码,基座应用就是原生app框架,所以如果修改原生插件代码都需要重新制作基座应用,在Hbuilder顶部运行中可以制作自定义调试基座

第三步调用原生aar包导出的函数

在我们vue页面中 uni.requireNativePlugin 初始化使用上面插件package.json中定义的唯一id,后面如调用 connectBt 接口,通常会传入一个 UniJSCallback 参数提供回调

第四步制作基座自定义调试基座和发布

采用云端证书,直接打包即可,等待几分钟完成

注意每次如果修改过原生插件代码,都需要重新制作基座,并且要修改上面两个地方的版本号

基座完成后,就可以数据线插上电脑,手机开始真机调试

选择自己手机,选基座运行

或者发行发布apk文件即可

原文链接:https://juejin.cn/post/7412893752090558474

标签:uniapp,插件,基座,蓝牙,调安卓,aar,uni
From: https://blog.csdn.net/weixin_47588164/article/details/142134554

相关文章