我使用Ionic 4开发了一个移动应用程序,我的应用程序的主要功能是扫描、连接和接收使用 BLE 协议(protocol)从医疗硬件获取数据。
现在,我们的客户希望在 OSx 上拥有相同的工作版本,为此我们使用 electron 和 ionic 4 实现了 BLE 部分强>它工作正常,但我们找不到检测蓝牙状态的解决方案:(事件或不活动)。
我真的很感谢任何形式的帮助,我不明白,我感觉真的很困难:/
由于代码基本上是 typescript 和 javascript,任何使用这些技术之一的解决方案都可以工作。
我们正在使用蓝牙 Web API 使 BLE 部分适用于 OSX 应用程序。
功能:
navigator.bluetooth.requestDevice()
如果蓝牙未激活或未检测到设备,则显示警报 如果有一种方法可以在蓝牙处于非事件状态时覆盖此警报,我认为这是解决方案吗?
顺便说一句,功能:
navigator.bluetooth.getAvailability()
只要告诉我当前设备(Mac)是否有蓝牙,它不会返回蓝牙的状态。
伙计们,我非常感谢你们的帮助并提前致谢。
最佳答案
几年前,我尝试制作一个与蓝牙医疗设备(血糖仪、血压计、体重秤等)通信的原型(prototype) Electron 应用程序。让我惊讶的是,我的移动应用程序 Ionic 1 中的代码库只需进行很少的调整就可以在 Electron 中运行。该应用程序可以在 32 位/64 位 WinXP、Win7、Win8 和 Win10、MacOSX Mavericks 和 Ubuntu Linux 上运行并经过测试。他们没有继续这个项目是不好的。我使用相同的 ionic 插件来实现低功耗蓝牙。
https://github.com/randdusing/cordova-plugin-bluetoothle
我没有发现蓝牙控制和操作方面的问题。我的主要编码更专注于 Electron 和 Nodejs 的东西。
至于蓝牙的WEB API,我之前也研究过,但一直没找到实现的方法。
既然您提到您已经开发了具有 BLE 功能的 ionic 应用程序。我想知道您是否也尝试过基于 Electron 应用程序的相同代码并使用相同的 BLE 插件。我认为这也可以。
关于javascript - 使用 JS 或 TS 或 electro 在 OSX 上测试蓝牙状态(事件或非事件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60279099/