我正在将RxAndroidBle与kotlin一起使用。 到目前为止,我可以设置多个通知,而我正在接收它们。
如何将通知映射到其特定特征?
到目前为止:
Object.entries(obj) === [["allenp", 10], ["amber.ebow@enron.com", 13], ["amelia.alland@enron.com", 13]] ...etc
谢谢
答案 0 :(得分:0)
对于那些苦于使用kotlin和RxAndroidBluetooth的人来说,经过一些工作之后,我才能使其正常工作,因此原始代码看起来像
enter code here connectionObserver
.flatMap { rxBleConnection ->
rxBleConnection.discoverServices().flatMap { services -> services.getService(ServiceUUID).map(BluetoothGattService::getCharacteristics) }
.flatMapObservable { s -> fromIterable(s) }
.flatMap { characteristic ->
rxBleConnection.setupNotification(characteristic)
.flatMap { notificationObservable -> notificationObservable.flatMap { result -> Observable.just(result).zipWith(fromArray(getBytesFromUUID(characteristic.uuid))) } }
}
}.observeOn(AndroidSchedulers.mainThread())
.subscribe { notification -> onNotificationReceived(notification)
}