此代码为通用启动蓝牙模块,搜索设备
//初始化蓝牙模块
export function openBluetoothAdapter() {
uni.openBluetoothAdapter({
success(res) {
console.log("蓝牙_初始化蓝牙模块", res);
return getBluetoothAdapterState()
},
fail(res) {
console.error(res)
}
})
}
//获取蓝牙适配器状态
function getBluetoothAdapterState() {
uni.getBluetoothAdapterState({
success(res) {
console.log("蓝牙_获取蓝牙适配器状态", res)
if (res.available) {
return startBluetoothDevicesDiscovery();
} else {
console.error(res)
}
},
fail(res) {
console.error(res)
}
})
}
//开始搜寻附近的蓝牙外围设备
function startBluetoothDevicesDiscovery() {
uni.startBluetoothDevicesDiscovery({
success(res) {
console.log("蓝牙_开始搜寻附近的蓝牙外围设备", res)
return getBluetoothDevices(false)
},
fail(res) {
console.error(res)
}
})
}
//获取在蓝牙模块生效期间所有已发现的蓝牙设备。包括已经和本机处于连接状态的设备。
export function getBluetoothDevices() {
console.log('是否停止搜索', STOP_GETBLUETOOTH)
uni.getBluetoothDevices({
success(res) {equipment=[] //清空搜索列表
console.log("蓝牙_获取在蓝牙模块生效期间所有已发现的蓝牙设备", res)
if (res.devices.length == 0) {
return getBluetoothDevices();
}
return;//进入筛选函数
},
fail(res) {
console.error(res)
}
})
}
//停止搜索设备
export function stopBluetoothDevicesDiscovery() {
console.log("蓝牙_停止搜索设备");
uni.stopBluetoothDevicesDiscovery({
success: function(res) {
console.log(res, '停止搜索')
},
fail(res) {
console.error(res)
}
})
}