首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RxAndroidBle rxBleConnection.writeCharacteristic

RxAndroidBle rxBleConnection.writeCharacteristic
EN

Stack Overflow用户
提问于 2016-09-29 21:39:10
回答 1查看 673关注 0票数 0

我正在运行RxAndroidBle提供的整个示例应用程序,从扫描到发现服务到writeCharacteristic。我正在尝试调试到流中,并在onWriteClick()CharacteristicOperationExampleActivity.java文件中放置一个断点。单击“写”按钮什么也不做。断点没有被抓住。

阅读博客RxAndroidBle中的指令

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

另外,是否有一种无需发现writeCharacteristic特性就可以处理它的方法?我不想显示特征视图,用户必须选择正确的特性才能读取和写入BLE设备。

无论如何,示例应用程序发现了我的BLE设备,并连接到它,但是没有给它写信。是否有使用RxAndroidBle的经验,请帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-30 13:45:43

在这个例子中似乎有一个bug -我无法使它工作(尽管连接按钮被禁用)-将需要检查它。对于快速修复,可以用以下方法替换onConnectToggleClick()方法:

代码语言:javascript
复制
@OnClick(R.id.connect)
public void onConnectToggleClick() {

    if (isConnected()) {
        triggerDisconnect();
    } else {
        connectionObservable
                .observeOn(AndroidSchedulers.mainThread())
                .doOnSubscribe(() -> connectButton.setText("Connecting"))
                .subscribe(
                        rxBleConnection -> {
                            Log.d(getClass().getSimpleName(), "Hey, connection has been established!");
                            updateUI();
                        },
                        this::onConnectionFailure
                );
    }
}

示例应用程序不打算与任何特定的BLE设备一起运行,因此为了显示未知设备的可能BluetoothCharacteristic,它需要执行显式发现才能将它们呈现给用户。当使用具有已知设备的库时,您可以安全地使用您感兴趣的UUIDBluetoothCharacteristic,而无需执行发现(这将在任何一种方式下完成,但不需要显式调用它)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39780451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档