【问题标题】:Bluetooth BLE comms w/ CodenameOne蓝牙 BLE 通讯,带 CodenameOne
【发布时间】:2020-11-26 19:01:13
【问题描述】:

(最初在 GoogleGroup 支持上询问) 如果您遇到问题,请提及您的问题适用的完整平台: IDE:NetBeans 桌面操作系统:Mac 模拟器:无,因为蓝牙使用在模拟器上不可用 设备:安卓手机 蓝牙设备:计步器

似乎 BLE 支持不可靠。我打开我要连接的蓝牙设备(计步器),然后在手机上开始扫描设备,有时它会启动,有时不会。如果它确实启动,我尝试使用该地址进行连接,我得到“无法连接到设备”。 (顺便说一句,如果我使用 isConnected(),它会抛出一个异常,说它从未连接过。我认为它只会返回 false) 我正在尝试复制一个原生 iOS 应用,每次连接到计步器都没有问题。

我一直在寻找 BLE 通信上的“最佳实践”,但找不到任何实质性的东西。由于需要翻译成 Codename One 库,因此 Cordova 文档的链接很麻烦。

【问题讨论】:

  • 你能发布你用来初始化、扫描、连接的代码吗?我有一个大部分时间都在两个平台上运行的应用程序。
  • 另外,您是否尝试使用重新连接?您是断开连接并关闭,还是只是断开连接?断开连接后我无法再次连接。到目前为止唯一有效的是在断开连接后退出应用程序,但用户需要再次启动应用程序才能重新连接。到目前为止我还没有解决这个问题。我建议您查看在重新启动后是否正常连接成功,而在未完全退出应用程序的情况下断开连接并重新连接后没有成功。
  • @JamesH 这是在Codename One 上,所以它使用this library,其Android 的本机代码是here,iOS 的本机代码是here

标签: android cordova bluetooth codenameone


【解决方案1】:

正如您在论坛中的https://groups.google.com/d/msgid/codenameone-discussions/b2b022e0-47e3-4a4c-9c33-4998ce2ef65e%40googlegroups.com[thread 中提到的] API 是基于回调的,并希望您异步等待来自设备的响应。

这是因为我们ported a Cordova plugin 以稳定的方式实现此功能。由于 JavaScript 不支持同步调用,因此没有添加。

我们考虑过扩展实施,但我们也希望使其尽可能接近原始实施,以便可以快速引入更改。

【讨论】:

    猜你喜欢
    • 2013-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 2013-10-18
    相关资源
    最近更新 更多