问题标签 [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.
android - AndroidSchedulers.mainThread 在补丁 rxAndoidBle 1.4 中停止工作
在 1.4 更新之前,您可以只写:
并导入 rx.android.schedulers.AndroidSchedulers;但现在我无法完成这项工作。
这是移动/删除还是现在是否存在另一个实现以获得类似的效果?
android - 如何暂停执行后退按钮,直到订阅完成?
当后退按钮按下等事件发生时,我在使用 RxAndroidBle 时遇到了很多问题,我想知道暂停执行后退按钮的最佳方法是什么。我基本上想创建一个锁,直到特定的蓝牙操作完成。操作完成后,我想完成后退按钮的执行。有人有想法么?
android - 从可观察对象的订阅接收数据后如何更新视图?
我正在将 RxAndroidBle 用于一个项目,我需要从 ble 设备上读取一些特征,然后将它们显示在屏幕上。下面的代码工作除了this::displayCharacteristics
这是因为CalledFromWrongThreadException
执行this::displayCharacteristics
. 在片段所在的线程上显示数据的正确方法是什么?我必须使用监听器吗?谢谢!
android - 使用 RxAndroidBle 编写多个特征的正确方法是什么?
我是 Rx 的新手,仍在试图弄清楚如何正确处理 observables。我想知道是否有更好的方法来编写多个特性而不是使用 RxAndroidBle 一次编写一个特性?目前我正在使用下面的代码一次做一个。
因此,我将旧代码更改为上面现在使用合并的代码,但现在似乎只有一个特征更新了。
android - 连接时扫描设备 -> 停止扫描会关闭连接
我正在使用 RxAndroidBle 库 v 1.4.1。我想在连接到设备时每隔几秒钟扫描一次。问题是当我停止扫描时(我不想一直扫描,只是每隔几秒钟)它会关闭与设备的连接。
我知道这种行为已记录在案“ scanBleDevices() - 这个 Observable 在取消订阅时关闭/清理内部资源(即完成扫描、关闭连接、禁用通知) ”
有什么解决方法吗?还是我必须在连接时浪费电池并一直扫描或根本不扫描?
编辑该问题仅发生在某些设备上-例如。华硕 Zenfone T100J。
android - 如何在 RxAndroidBle 中获得更大的 MTU?
我正在尝试在自定义 BLE 外围设备和使用 RxAndroidBle (1.4.1) 实现的 Android 通信库之间创建数据传输。我让它与默认的 MTU(23 字节)一起使用,因此 Android 当时只传输 20 字节。通信使用 23 的 MTU,但我们真的想要更快的通信。
我们的设备支持 DLE,并在通信开始时请求更大的 158 字节 MTU,几乎所有手机都能获得它。完成后,设备开始发送最多 155 个字节的数据。因此,设备-> 移动通信速度相当快,而且运行良好。然而,在 Android 端,RxAndroidBle 的 getMtu() 调用总是返回 23(即使库和测试应用程序是使用 minsdk = 21 构建的,在 Android 7.1.1 上运行)。我尝试在建立连接后添加对RxBleConnection.requestMtu(512)的调用,但这导致没有回调并且getMtu()仍然返回 23。
我只是在createNewLongWriteBuilder上粗暴地调用setMaxBatchSize(155)并看看会发生什么。结果是更快的沟通,没有任何问题!(我在设备日志中确认我们当时确实获得了 >20 字节)但是,如果设备不支持大 MTU,为了避免令人不快的意外,我真的希望库使用实际的 MTU 值,而不是“大猜测”。
那么,在 RxAndroidBle 中获取当前 MTU 的实际方法是什么?是否有阻止它工作的错误或什么?
rxandroidble - 支持 rxandroidble 中的多个设备?
如果我有多个相同但唯一命名的 BLE 外围设备,是否可以让这个库支持它?
因此,例如,如果外围设备是篮球队的心率监测器,是否可以使用此代码同时支持与这 5 个设备中的每一个的多个连接,然后以某种方式在设备之间切换以获取/发送数据?
android - 多次写入速度较低
我想使用计时器进行多次写入。我正在尝试执行以下操作:
当我写信时,我想收到响应(OnWriteSuccess),当我收到它时,我会再次写信。
前十到二十次写入还可以,但在那之后,每次写入之间会有 2 到 4 秒的延迟。
android - 缓存/重用 RxBleDevice 实例是否存在问题?
RxBleClient#scanBleDevices
发出一系列ScanResult
对象。反过来,ScanResult#getBleDevice
提供RxBleDevice
来自这些发射项目之一的实例。
RxBleDevice
缓存实例以避免将来必须执行扫描是否有任何问题?
几个潜在的用例:
- 在需要实际连接到设备之前执行扫描。
- 对不相关的操作执行一般扫描,因此使用此扫描期间发出的任何其他设备将是有效的。
android - 使用 RxBleClient 扫描后台 BLE 设备时的问题
我正在扫描由 iOS 设备创建的 BLE 设备。然后我连接到特定的服务并读取特定的特征。当具有 GATT 服务的 iOS 应用程序处于前台时,它可以完美运行。但是当隐藏 iOS 服务器应用程序时,Android 客户端停止检测 BLE GATT 设备。
BLE Scanner 应用程序成功查看隐藏的 GATT 服务器
更新 这里是过滤器代码部分
}
完整的扫描仪类代码如下: