问题标签 [rxandroidble]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1115 浏览

android - 订阅多个特征时 RxAndroidBle 崩溃

我目前正在为专有的低功耗蓝牙设备开发 Android 应用程序。

我决定使用 RxAndroidBle,与内置蓝牙堆栈相比,我对它的相对易用性感到满意。

我遇到问题的地方:我需要订阅两个特征并不断读取和汇总它们的值。

查看此示例页面http://polidea.github.io/RxAndroidBle/,我已经能够按照示例读取多个特征,但是在组合多个订阅时没有成功。

这就是我所拥有的:

一旦到达第二个订阅,它就会崩溃。我究竟做错了什么?

这是错误:

0 投票
1 回答
1395 浏览

rx-java - 如何以线性方式连接两个可观察操作(首先做这件事,然后完成第二件事)?

Polidea 发布了一个名为 RxAndroidBle 的新的方便库,当您使用 vanilla 蓝牙 API 时,它对于处理许多问题非常有用。

在解释更多之前,想法是拥有一个 POJO 模型,其中包含设备发送(或我查询)给我的所有最近值(在这种情况下由 Map 对象表示):

如果我想收到有关多个特征通知的通知,我可以这样做:

现在,当我连接到设备时,通知正在更新 POJO 对象(此特定示例中的 Map)。

如果我想读取值,我可以执行以下操作:

我的主要问题是:

我想在第一次连接时:读取大量具有读取属性的特征,然后才订阅那些具有通知属性的通知。这是连接操作。我怎样才能做到这一点?

问题是当我进行阅读的第一部分时,observable 读取了这些特征属性,但不会发出 doOnComplete 方法,因为正在等待更多,所以我无法启动或编写下一个订阅和收听更改的操作.

我确定具有 read 属性的特征数量,但我想以通用方式进行(即,如果我有 7 个或 15 个要读取的特征并不重要,我只想阅读它们,写入 pojo 值,然后开始收听通知)。

也许选项是编写一个可观察的来计算成功读取,然后开始收听通知。

实现这一目标的最佳反应方法是什么?

为了让您处于这种情况,这是产生这个问题的原始线程

0 投票
1 回答
1001 浏览

rxandroidble - RxAndroidBle 如何正确写入 ble 设备?

嗨,我正在尝试使用 RxJava 和 BLE 构建我的第一个应用程序,我有一个问题:我在单音类中创建了一个 wite(byte b) 方法(用于连接、通知等)。所以现在如果我想将数据写入 BLE 设备,我调用这个方法。我需要从代码的不同部分做很多事情。我对 RxJava 概念很陌生,我觉得我做错了。当前解决方案:

我觉得我需要做这样的事情,但我不知道如何:

并且在连接到设备期间只调用一次:

感谢您的回答!

0 投票
2 回答
6313 浏览

android - Android BLE:“扫描失败,原因是 UUID 的应用注册失败”

我正在使用该RxAndroidBle库开发一个应用程序,该库大约每 30 秒定期执行 BLE 扫描,并且每分钟左右执行一些 BLE 操作。几个小时后,通常在 5 到 24 小时之间,扫描停止工作。每次应该开始扫描时,我都会得到:

有没有人知道是什么导致了这个问题或者可以做些什么来解决它?

0 投票
1 回答
272 浏览

rxandroidble - 指定操作超时的首选方式

为连接或操作指定超时的推荐方法是什么?目前我使用:

但我的印象是,偶尔随后自动关闭和断开 gatt 并不总是正确完成,因为之后我有时无法重新连接到同一设备。

会像

更推荐在超时后手动触发 disconnectTrigger.onNext() 吗?

0 投票
2 回答
278 浏览

rxandroidble - 如何检查 RxBleConnection 的状态

是否有一些方法可以检查RxBleConnection实例是否处于活动状态或已断开连接?或者也许是一些通知来跟踪断开连接的时刻?

0 投票
1 回答
654 浏览

rxandroidble - RxAndroidBle rxBleConnection.writeCharacteristic

我正在运行RxAndroidBle从扫描到发现服务到writeCharacteristic. 我正在尝试调试流程并onWriteClick()CharacteristicOperationExampleActivity.java文件中放置一个断点。单击 WRITE 按钮不执行任何操作。没有抓住断点。

阅读博客RxAndroidBle中的说明

声明发现特征对于写入是可选的。但是这个示例应用程序的活动设置方式,必须通过发现特性,然后才会显示特性操作页面。在特征页面上,我选择了读/写特征条目以进入操作页面。这不是操作应用程序的正确方法吗?

还有,有writeCharacteristic没有不用发现它的特点就能处理的方法?我不想显示特征视图,用户必须选择正确的特征才能读取和写入 BLE 设备。

无论如何,示例应用程序发现了我的 BLE 设备并连接到它,但未能写入它。有没有人有 RxAndroidBle 的经验,请帮忙。

0 投票
2 回答
1006 浏览

android - 在 Polidea 中记录 scanResult - RxAndroidBle 扫描

我正在尝试使用 RxAndroidBle 库(https://github.com/Polidea/RxAndroidBle)。我希望应用程序启动并扫描 BLE 设备。我想在 LogCat 中打印找到的设备。我怎样才能做到这一点?

0 投票
0 回答
134 浏览

rxandroidble - RxAndroidBle - 如何在模拟设备上接收 writeCharacteristic

我正在尝试向模拟设备发送“你好”并从中接收反馈。我使用 writeCharacteristic 来模拟设备,但我不知道如何设置它的响应。

请帮忙,非常感谢!!!

对于模拟设备

0 投票
2 回答
1087 浏览

android - 写入特定特征时出现 BleGattException

写入特定特征会使应用程序崩溃并引发以下异常:

与设备建立了连接,其他读写方法似乎都可以正常工作。

正在使用的代码:

我的第一个想法是,也许该特征没有启用写权限,但以下日志语句characteristic.getProperties()返回 8,表明它确实具有写权限:

那么问题可能是什么?