更新记录

1.0.0(2025-04-02)

经典蓝牙服务端


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.6.8,Android:4.4,iOS:不支持,HarmonyNext:不支持 × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
× × × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

经典蓝牙服务端

开发文档

  1. 拷贝demo的AndroidManifest.xml到项目根目录
  2. 集成插件步骤请参考 https://www.cnblogs.com/wenrisheng/p/18323027

接口


import {
    UTSClassicsBtServer,
    UTSBt
} from "@/uni_modules/wrs-uts-classicsbt"
let server = new UTSClassicsBtServer()
  • 判断蓝牙是否已经开启

let isEnabled = UTSBt.isEnable()
if (!isEnabled) {

}
  • 开启蓝牙

let suc = UTSBt.enable()
this.showMsg("打开蓝牙:" + suc)
  • 获取蓝牙名

let name = UTSBt.getName()
  • 设置蓝牙名

 UTSBt.setName("XXXX")
  • 设置服务端回调

server.onCallback((resp) => {
    this.showMsg(JSON.stringify(resp))
    let opt = resp.opt
    switch (opt) {
        case "onNewClient": {
            // 
            let remoteDevice = resp.remoteDevice
            // 蓝牙mac地址
            let address = remoteDevice.address
            this.showMsg("收到一个新连接:" + address)
        }
        break;
        case "onReceiveData": {
                let remoteDevice = resp.remoteDevice
                let data = resp.data
                this.showMsg("收到数据:" + JSON.stringify(data))
        }
        break;
        case "onDisconnectClient": {
            this.showMsg("连接被断开")
        }
        break;
        default:
            break;
    }
})
  • 服务端开启服务

let params = {}
params.name = "BTServer"
params.uuid = "00001101-0000-1000-8000-00805F9B34FB"
// secure
// true: 加密传输,Android强制执行配对,弹窗显示配对码
// false: 明文传输(不安全),无需配对
params.secure = false // true
server.startServer(params)
  • 停止监听

server.stopServer()
  • 断开连接

let address = "0x:xx"
server.disconnect(address)
  • 发送数据

let params = {}
params.address = "xxx"
params.data = [0x01, 0x02, 0x03] // 十六进制数组
server.sendData(params)

隐私、权限声明

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

蓝牙、定位

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

插件不采集任何数据

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

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