我正在尝试使用 iOS BLE 设备作为 BLE 外围设备,它也在后台做广告。
我已经想出如何在后台做广告并让另一台寻找特定蓝牙 UUDID 的设备检测到它。
不幸的是,当应用程序处于后台时,不会传输广告商信息。当应用程序处于后台时,有没有办法发送一个短字符串或其他设备特定的东西?如果可以短时间唤醒该应用程序(如果可能的话)就可以了。
最佳答案
当应用程序在后台运行时,广告服务将从广告包中删除。只有前台扫描 iOS 设备才能获取服务。
广告服务是任意 UUID。你可以很容易地找出一些编码来存储字符。但是,这有几个注意事项,例如
- 一般方案通常是扫描仪通过服务 UUIDS 找到您的外围设备。如果数据可以是任何东西,那么这就很棘手了。
- 外设将无法在后台更改广告数据。
我建议您不要尝试欺骗系统。而是计划短时间连接到外围设备,并在此间隔期间将数据发送到中央设备。
关于ios - 核心蓝牙 : Transmit specific data in background as advertiser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21445544/