uni-app的api和微信的api其实很相似,用法一样,在这里奉上我之前在项目中实现蓝牙开锁的代码,我会说明每一步的步骤,哪个步骤用哪个api,每个api的详细用法可以去uni-app官网参考文档
蓝牙整个步骤:1初始化蓝牙,2开始搜寻附近的蓝牙外围设备,3监听寻找到新设备的事件,4搜寻到需要的蓝牙,停止搜寻附近的蓝牙外围设备,5连接低功耗蓝牙设备,6获取蓝牙设备所有服务(service),7获取蓝牙设备某个服务中所有特征值(characteristic),8启用低功耗蓝牙设备特征值变化时的 notify 功能,订阅特征值。注意:必须设备的特征值支持 notify 或者 indicate 才可以成功调用,9向低功耗蓝牙设备特征值中写入二进制数据。
uni.openBluetoothAdapter({//首先初始化蓝牙
success(res) {
console.log(JSON.stringify(res))
uni.startBluetoothDevicesDiscovery({//这里是开启蓝牙搜寻
success: (res) => {
console.log('startBluetoothDevicesDiscovery success', res)
uni.onBluetoothDeviceFound((res) => {//这一步是监听返回的蓝牙设备
console.log(JSON.stringify(res))
res.devices.forEach(device => {//这一步就是去筛选找到的蓝牙中,有没有你匹配的名称
console.log(JSON.stringify(device))
if (device.name == 'XiaoanTech') {
this.DeviceID = device.deviceId
let DeviceID = device.deviceId//这里是拿到的uuid
uni.stopBluetoothDevicesDiscovery({//当找到匹配的蓝牙后就关掉蓝牙搜寻,因为蓝牙搜寻很耗性能
success(res) {
console.log(JSON.stringify(res))
}