// 调用这个方法 前提是 打开了 手机的蓝牙和定位
startBluetoothDeviceDiscovery() {
uni.showLoading({
title: '蓝牙搜索中'
})
// uni.showToast({
// title: "如果是安卓8.0以上需要打开定位服务",
// icon: "none"
// });
let self = this;
self.devicesList = [];
setTimeout(() => {
uni.startBluetoothDevicesDiscovery({
success: res => {
uni.onBluetoothDeviceFound(devices => {
console.log("发现设备: " + JSON.stringify(devices));
//不重复,就添加到devicesList中,
if (!self.devicesList.some(item => {
return item.deviceId === devices.devices[0].deviceId
})) {
self.devicesList.push(devices.devices[0])
}
// 默认选择上一次连接的蓝牙设备
if(self.isdef) {
const _deviceId = uni.getStorageSync('c_deviceId');
const _serviceId = uni.getStorageSync('c_serviceId');
let _d_info = null;
self.devicesList.map(r=> {
if(r.deviceId == _deviceId) {
_d_info = r;
}
});
if(_d_info) {
self.select_deviceId(_d_info, _serviceId);
}
}
});
},
fail: res => {
uni.hideLoading();
// self.showToast(`搜索设备失败` + JSON.stringify(err));
uni.showToast({
icon: "none",
title: "搜索设备失败"
});
}
})
}, 200)
},
devicesList为扫描出蓝牙列表的数组