【发布时间】:2021-04-19 17:55:20
【问题描述】:
我们希望 Android 自动连接到我们定制的 BLE 外围设备。
我们的外围设备应定期(但不经常)宣传并尝试向手机指示一些时间敏感的传感器数据。因此,我们希望手机随时准备好连接。
一般情况下,您可以将智能手表与 Android 配对,然后 Android 会在智能手表在范围内时自动连接到智能手表。所以我们相信我们的用例应该是可行的。
我阅读了很多建议在连接时将“自动连接”参数设置为 true 的答案。我已经尝试过了,重新连接不会通过重新启动,甚至在 Android 上禁用和重新启用蓝牙后仍然存在。 This answer by Brian 说我应该在后台扫描,但 Android 做了这个 unrealistic。如果我使用前台服务,我的用户会讨厌该应用程序。如果我使用后台服务,我可能会错过外围设备在Android's Doze 期间的连接尝试,并且代码容易出错。
理想情况下,我想做类似Emil 在他的answer here 中所说的事情。请阅读后续问题和回复。
但是,我们无法通过 Android 的蓝牙设置看到我们的应用。我们只能使用我们的应用程序(或 nrf Connect)连接到外围设备并与之配对。无奈之下,我尝试修改外设的广告标志。然后我可以在 Android 的蓝牙设置中看到它。但是当我尝试使用 Android 的设置进行配对时,尝试失败,因为外围设备未处于“配对模式”。
我们正在构建应用程序和外围设备,因此我们可以同时更改两者。我想知道我们的用例是否可行,以及我们需要做什么才能让它工作。我们的外围设备使用的是 STM32WB。
【问题讨论】:
标签: android bluetooth bluetooth-lowenergy stm32 android-bluetooth