我正在运行RxAndroidBle提供的整个示例应用程序,从扫描到发现服务到writeCharacteristic。我正在尝试调试到流中,并在onWriteClick()的CharacteristicOperationExampleActivity.java文件中放置一个断点。单击“写”按钮什么也不做。断点没有被抓住。
阅读博客RxAndroidBle中的指令
声明发现特征是可选的写入。但是,这个示例应用程序活动的设置方式,必须通过发现特性操作页面才能显示出来。在特性页上,我选择了读/写特性条目以到达操作页面。这不是操作应用程序的正确方式吗?
另外,是否有一种无需发现writeCharacteristic特性就可以处理它的方法?我不想显示特征视图,用户必须选择正确的特性才能读取和写入BLE设备。
无论如何,示例应用程序发现了我的BLE设备,并连接到它,但是没有给它写信。是否有使用RxAndroidBle的经验,请帮助。
发布于 2016-09-30 13:45:43
在这个例子中似乎有一个bug -我无法使它工作(尽管连接按钮被禁用)-将需要检查它。对于快速修复,可以用以下方法替换onConnectToggleClick()方法:
@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,它需要执行显式发现才能将它们呈现给用户。当使用具有已知设备的库时,您可以安全地使用您感兴趣的UUID的BluetoothCharacteristic,而无需执行发现(这将在任何一种方式下完成,但不需要显式调用它)。
https://stackoverflow.com/questions/39780451
复制相似问题