进行混合 App 开发过程中在连接硬件蓝牙设备这里遇到了一些问题,网上相关的中文资料很少,翻译成中文,期望可以帮助到需要的人;这里会持续更新。
# 模块说明
这个插件支持你连接 Android, iOS, 和 Windows 上的蓝牙设备。
## 必备条件
- Cordova 5.0.0 或者更高版本
- Android 4.3 或者更高版本,Android Cordova library 5.0.0 或者更高,Android API 23 或者更高
- iOS10 或者更高版本
- Windows Phone(微软手机操作系统)8.1 (在诺基亚 Lumia 630 测试的)
- Windows 10 通用应用平台
- 设备硬件必须通过蓝牙LE认证。比如,Nexus 7(2012)在升级到4.3(或更高)后不支持蓝牙
## 限制/问题
- 在 Android 上,断开并且快速重连会有一小段超时时间
- 指示类型订阅可能情况不太好
- OSX 仍处于实验阶段,我遇到过一些问题,但是它可能与 Cordova 本身有关
## 从 2.x 升级到 3.x
- 无需在参数中指定 serviceUuid, serviceUuid, characteristicUuid,而是使用 services, service, characteristic,检查与扫描、发现相关的读/写/订阅操作函数获取更多信息,找到总是返回 uuid 属性而不是 serviceUuid, characteristicUuid 或者 descriptorUuid 的相关函数。
- connecting 和 disconnectiong 事件被移除了。
## 从 3.x 升级到 4.x
- 后台模式不会被自动添加,更多详情查看 Installation Quirks (iOS)
## 后续代办
- 改进 Android 和 iOS 与外部设备/服务之间的消息通知
- 代码重构,目前代码正变得越来越乱
## 下载
使用 Cordova
```
cordova plugin add cordova-plugin-bluetoothle
```
使用 PhoneGap Build
```
<gap:plugin name="cordova-plugin-bluetoothle" source="npm" />
```
## 调试
查看以下指南,在 Android 和 iOS 上进行较低水平的调试:
- [iOS](https://developer.apple.com/bug-reporting/profiles-and-logs/) - 滚动到 iOS 蓝牙
- [Android](https://www.bluetooth.com/blog/debugging-bluetooth-with-an-android-app/)