从通知获取特征信息

时间:2018-10-18 11:17:03

标签: kotlin bluetooth-lowenergy rxandroidble

我正在将RxAndroidBle与kotlin一起使用。 到目前为止,我可以设置多个通知,而我正在接收它们。

如何将通知映射到其特定特征?

到目前为止:

Object.entries(obj) === [["allenp", 10], ["amber.ebow@enron.com", 13], ["amelia.alland@enron.com", 13]] ...etc

谢谢

1 个答案:

答案 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)
            }