У меня есть приложение, которое я использовал для подключения к внешним устройствам через Bluetooth, используя библиотеку BLE-PLX.
У меня проблема во время сканирования и подключения, потому что не всегда это работает.
Это код, который я использую для подключения одного устройства через Bluetooth:
// First Scan
scans1() {
this.manager.startDeviceScan(null, null, (error, device) => {
if (error) {
this.manager.stopDeviceScan();
console.log("0.Error, retry connection.")
this.scans1()
//return;
}
if ((device.name == this.model_dx(this.props.Model)) || (device.name == this.model_sx(this.props.Model)))
{
this.manager.stopDeviceScan();
console.log("1.Device Founded - ", device.name)
this.setState({device1: device})
this.manager.connectToDevice(device.id)
.then(() => {
console.log("2.Launch Scans 2") // this is for connect to the second device.
this.scan2();
})
.catch(() => {
Alert.alert("Error " + "Connection Failed.");
Actions.homepage();
})
}
else if ((device.name == null )) {
this.manager.stopDeviceScan();
console.log("3.Device is - null - retry scan")
this.scans1();
} else {
this.manager.stopDeviceScan();
console.log("4.Error: Device not found.")
Actions.homepage();
}
});
Теперь, что я хотел бы знать, как я могу увидеть, подключено устройство или нет? (Я не знаю, могла ли бы быть другая ошибка, я попытался решить любую проблему).
Следуя руководству, они сказали:
Проверьте состояние соединенияУстройство.
isDeviceConnected(deviceIdentifier: DeviceId): Promise<boolean>
Параметры
deviceIdentifier (DeviceId)
Идентификатор устройства.
Возвращает
Promise<boolean>:
Обещание, которое выдает истину, если устройство подключено, и ложь в противном случае.
Но я не понимаю, как я могу его использовать.