Как узнать, подключено ли устройство - PullRequest
1 голос
/ 03 октября 2019

У меня есть приложение, которое я использовал для подключения к внешним устройствам через 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>:

Обещание, которое выдает истину, если устройство подключено, и ложь в противном случае.

Но я не понимаю, как я могу его использовать.

1 Ответ

0 голосов
/ 03 октября 2019

Я нашел решение:

Я могу использовать:

this.manager.isDeviceConnected(device.id).then((res) => console.log(res))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...