Android 前台服务配置问题导致蓝牙对讲功能异常
💡
原文中文,约4800字,阅读约需12分钟。
📝
内容提要
使用 STM32 WB 蓝牙模块的开源 SDK 实现蓝牙对讲功能时,因与 Android 12 的兼容性问题无法建立连接,修改 Manifest 文件和 PendingIntent 后,功能调通。
🎯
关键要点
- 使用 STM32 WB 蓝牙模块的开源 SDK 实现蓝牙对讲功能时无法建立连接。
- 官方 APP ST BLE Sensor 可以正常连接,问题出在前台服务与 Android 12 的兼容性上。
- 连接异常状态为 'Lost connection with the node BVL-WB1'。
- 蓝牙模块的状态包括 Init, Idle, Connecting, Connected, Disconnecting, Lost, Unreachable, Dead。
- 建立连接的过程涉及 NodeConnectionService 的 connect 方法。
- Manifest 文件需要增加前台服务的配置以支持 Android 9 及以上版本。
- PendingIntent 创建时需要指定 FLAG_IMMUTABLE 或 FLAG_MUTABLE。
- 经过修改后,功能最终调通,学习了 Service 和 Foreground Service 的使用。
➡️