Android 蓝牙BLE通信,带CodenameOne

Android 蓝牙BLE通信,带CodenameOne,android,cordova,bluetooth,codenameone,Android,Cordova,Bluetooth,Codenameone,(最初是在谷歌集团支持上询问的) 如果您遇到问题,请提及您的问题适用的完整平台: IDE:NetBeans 桌面操作系统:Mac 模拟器:无,因为蓝牙使用在模拟器上不可用 设备:安卓手机 蓝牙设备:计步器 似乎不可靠的支持是不可靠的。我打开我正试图连接的蓝牙设备(计步器),然后在手机上开始扫描设备,有时它会启动,有时不会。如果它真的出现,我会尝试使用该地址进行连接,并得到一个“无法连接到设备”。(顺便说一句,如果我使用isConnected(),它会抛出一个异常,表示它从未连接过。我认为它只会返

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

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

我一直在寻找有关BLE通信的“最佳实践”,但找不到任何实质性内容。Cordova文档的链接很麻烦,因为需要翻译成代码名One lib。

正如您在讨论论坛中提到的]API是基于回调的,希望您异步等待设备的响应

这是因为我们需要以稳定的方式实现此功能。因为JavaScript不支持同步调用,所以没有添加这些调用


我们曾考虑扩展该实现,但我们也希望尽可能使其与原始实现保持一致,以便能够快速引入更改。

能否将您使用的代码发布到init、scan、connect?我有一个应用程序在两个平台上都能正常工作。另外,您是否正在尝试使用重新连接?您是断开并关闭,还是只是断开?断开后,我无法再次连接。目前唯一有效的方法是在断开连接后退出应用程序,但用户需要再次启动应用程序才能重新连接。到目前为止我还没有解决这个问题。我建议您看看,在新启动后,您是否正常连接成功,在未完全退出应用程序的情况下,断开并重新连接后是否成功。@JamesH此选项处于启用状态,因此它将使用谁的Android本机代码和谁的iOS本机代码