uniapp开发应用中使用蓝牙设备时,正确的蓝牙设备初始化、搜索、连接和数据交互过程
1. 初始化蓝牙模块
在使用蓝牙功能之前,首先需要初始化蓝牙模块。以下是初始化蓝牙模块的代码示例:
uni.openBluetoothAdapter({
success(res) {
console.log('初始化蓝牙成功', res);
},
fail(err) {
console.error('初始化蓝牙失败', err);
if (err.errCode === 10001) {
uni.onBluetoothAdapterStateChange((state) => {
if (state.available) {
// 重新初始化蓝牙模块
uni.openBluetoothAdapter();
}
});
}
}
});
补充说明:
- 如果初始化蓝牙失败(错误码为10001),可以监听蓝牙适配器状态变化,并在蓝牙可用时重新初始化。
2. 搜索附近可连接的蓝牙设备
一旦蓝牙模块初始化成功,可以开始搜索附近的蓝牙设备。以下是搜索蓝牙设备的示例代码:
uni.startBluetoothDevicesDiscovery({
allowDuplicatesKey: false,
interval: 0,
success: (res) => {
console.log("执行搜索成功的回调", res);
},
fail: (error) => {
console.log("搜索失败", error);
}
});
// 定时停止搜索,避免长时间搜索占用系统资源
setTimeout(() => {
uni.stopBluetoothDevicesDiscovery({
success: (res) => {
console.log("停止搜索成功", res);
},
fail: (error) => {
console.log("停止搜索失败", error);
}