Я работаю над проектом 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. Но слушатель чтения не стреляет при получении данных. Я предполагаю, что он должен сработать, как только другое устройство отправит некоторые данные. Буду очень признателен, если кто-нибудь сможет мне помочь с этим вопросом.