使用Polidea / react-native-ble-plx从ble设备获取所有服务和化学特性时出错

时间:2020-04-01 18:16:41

标签: react-native bluetooth-lowenergy android-bluetooth react-native-ble-plx

嗨,我正在尝试使用Polidea / react-native-ble-plx库连接蓝牙设备。

首先,我进行了扫描,并且工作正常:

scanAndConnect() {
console.log('scanAndConnect');
this.manager.startDeviceScan(null, null, (error, device) => {
//console.log('Scanning...' + error);
if (error) {
// Handle error (scanning will be stopped automatically)
console.log('Scanning ERROR');
return;
}
if ((device.id=== '54:6C:0E:A0:7B:6D') 
{
console.log('device found: ' + device.name + '(' + device.id + ')');
this.manager.stopDeviceScan();
}
}

我尝试连接的第二步。而且也可以!

device.connect().then((dev) => {
          console.log("try to connect")          
        }).then((dev) => {
          console.log("success to connect")
        }).catch((error) => {
          console.log("connect error:" + error)
          throw error
        });

所以,现在我想让所有服务和角色从设备读取一些信息,但是此功能对我不起作用。

我正在使用这种方法 device.discoverAllServicesAndCharacteristics();

我总是收到一个错误。

有时我会收到以下错误消息: 1)警告可能的未处理的承诺拒绝(id:0): BleError:设备54:6C:0E:A0:7B:6D未连接

我不了解第一个,因为我已连接设备。

var status = this.manager.isDeviceConnected(device.id).then((status)=>console.log('status1: '+status))

上面的行在我调用connect方法之前返回false,在其之后返回true。

但是当我尝试获得服务和特性时,我会收到消息,表明设备未连接

0 个答案:

没有答案