Слушатель событий чтения не стреляет в реагировать родной - PullRequest
1 голос
/ 23 февраля 2020

Я работаю над проектом Bluetooth в режиме native native, где я пытаюсь прочитать данные с других устройств. Чтение данных с использованием следующего фрагмента кода

BluetoothSerial.readFromDevice().then((data) => {
      console.log(data)
}

, который работает отлично. Но я хочу использовать прослушиватель событий для сбора данных, отправляемых некоторыми другими устройствами в любое случайное время. Я использую слушателя на https://github.com/rusel1989/react-native-bluetooth-serial/issues/16, на который ответил @ andrescheca . код выглядит следующим образом

    BluetoothSerial.withDelimiter('\r').then(() => {
    Promise.all([
      BluetoothSerial.isEnabled(),
      BluetoothSerial.list()
    ])
    .then((values) => {
      const [ isEnabled, devices ] = values
      this.setState({ isEnabled, devices })
    })

    BluetoothSerial.on('bluetoothEnabled', () => console.log('Bluetooth enabled'))
    BluetoothSerial.on('bluetoothDisabled', () => console.log('Bluetooth disabled'))
    BluetoothSerial.on('read', (data) => {

       console.log(`DATA FROM BLUETOOTH: ${data.data}`);
       Toast.show(data.data);
   })
    BluetoothSerial.on('error', (err) => console.log(`Error: ${err.message}`))
    BluetoothSerial.on('connectionLost', () => {
      if (this.state.device) {
        console.log(`Connection to device ${this.state.device.name} has been lost`)
      }
      this.setState({ connected: false })
    })
  });

Все слушатели, например, bluetoothEnabled, bluetoothDisabled, запускаются, когда я включаю и отключаю Bluetooth. Но слушатель чтения не стреляет при получении данных. Я предполагаю, что он должен сработать, как только другое устройство отправит некоторые данные. Буду очень признателен, если кто-нибудь сможет мне помочь с этим вопросом.

1 Ответ

0 голосов
/ 27 февраля 2020

Я решил эту проблему, просто добавив \ r в конце данных, которые я пытался отправить на свое устройство с сервера Linux. Спасибо @kendavidson за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...